簡體   English   中英

如何使用舊版本的java 1.6運行.jar 1.7程序?

[英]how to run a .jar 1.7 program with an older version java 1.6?

我有一個在1.7版本java中運行良好的code.jar,但是當使用另一台帶有1.6版本的linux的計算機時,它給我一個錯誤,我怎么能在1.6版本中運行它?

調用javac時使用交叉編譯選項

如果在大多數其他回復中僅按照建議指定-target選項,則1.7 SDK將發出有關-bootclasspath的警告。 該選項需要目標JRE版本的rt.jar (注意不是 JDK)。 它允許編譯器檢查引用核心Java SE的代碼的類,方法和屬性是否實際存在於rt.jar 這對於確保兼容性非常重要。

如果代碼未使用較舊的Java兼容性標志進行編譯,則無法在1.6上運行它。

在eclipse中使用Java 6構建項目,您需要下載Java 1.6 JRE,然后將eclipse指向1.6 JRE,請參閱: http//www.cleartoolkit.com/dokuwiki/doku.php?id = clearwiki:20 。 cleardatabuilder:01.setup:01.prerequisites

現在右鍵單擊您的項目 - > Properties,單擊Java Compiler,取消選中“enable project specific settings”,單擊“Configure Workspace Settings”,然后選擇1.6作為編譯器合規級別。

做“事情”再次導出你的項目,新的jar應該工作。

希望這可以幫助。

我認為您不能使用較低版本運行更高版本的類。

另一種方法可能是將目標版本設置為1.6。

例:

javac yourFile.java -target 1.6

我在Eclipse中找到了一個解決方案!

如果您轉到項目並右鍵單擊以訪問屬性,則會出現一個名為Java Compiler的選項卡。 如果啟用項目特定屬性並取消選中JDK合規性下的復選框,則可以將源兼容性和.class文件兼容性更改為1.6。

這應該可以解決您的問題,並且生成的.jar文件應該可以在兩個設備上運行。 我通過將文件從1.8移動到1.7並在具有OpenJDK 1.7的Raspberry Pi上進行測試來測試這一點。 我希望這有幫助。

暫無
暫無

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

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