簡體   English   中英

是否可以使用JDK 1.6構建java代碼以在JRE 1.5上運行?

[英]Is is possible to build java code using JDK 1.6 to run on JRE 1.5?

在使用JDK 1.6編譯時,是否可以選擇構建在JRE 1.5上運行的Java代碼?

PS:我是Java新手。

如果用1.6編譯代碼,那么它將不會在1.5上運行。 如果你希望它在1.5中運行,那么你可以用1.5編譯代碼,它可以在兩者上運行。

嘗試使用1.5編譯,如果有錯誤,則發布它們。 如果您在代碼中使用特定的1.6增強功能,則無法在1.5上編譯的唯一方法。


回答真正的問題。

  javac -target 1.5

有關詳細信息,請參見此處

是的你可以。 請參閱http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html並查找“交叉編譯選項”部分。 簡而言之,您需要為javac指定-target = 1.5。 當然,Ant也支持這個標志。

看看javac“-source”和“-target”選項:

http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html

- 資源發布

指定接受的源代碼版本。 允許以下釋放值:

  • 1.3編譯器不支持在JDK 1.3之后引入的斷言,泛型或其他語言功能。
  • 1.4編譯器接受包含斷言的代碼,這些代碼在JDK 1.4中引入。
  • 1.5編譯器接受包含JDK 5中引入的泛型和其他語言功能的代碼。
  • 5 1.5的同義詞。
  • 1.6這是默認值。 Java SE 6中未引入任何語言更改。但是,源文件中的編碼錯誤現在報告為錯誤,而不是之前的警告。
  • 6 1.6的同義詞。

+

- 目標版本

生成以指定版本的VM為目標的類文件。 類文件將在指定的目標和更高版本上運行,但不會在早期版本的VM上運行。 有效目標是1.1 1.2 1.3 1.4 1.5(也是5)和1.6(也是6)。

-target的默認值取決於-source的值: - 如果未指定-source,則-target的值為1.6

  • 如果-source為1.2,則-target的值為1.4
  • 如果-source為1.3,則-target的值為1.4
  • 對於-source的所有其他值,-target的值是-source的值。

這完全取決於您使用的API。 Swing,Instrumentation,JConsole等等隨着時間的推移而發生變化。

如果你試試:

http://www.coderanch.com/t/382318/Java-General/java/New-Features-Java

它有指向每個最后主要版本之間差異的頁面的鏈接,其中:

http://java.sun.com/javase/6/webnotes/features.html

是最新版本中已更改/新功能的列表。

希望這會給你一些想法。

當然,然后你需要在1.5下編譯它以使它與該JRE一起運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM