[英]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應該工作。
希望這可以幫助。
我在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.