我想編譯我的.java的(幾個)到一個.jar
是至少Java 1.6
和更新,最好Java 1.5
和更新版本的Java兼容。 (我有Java 1.7.0_5
)如何編譯支持舊版本Java的.java?
17
A
回答
13
是的,你可以在編譯時設置編譯器的版本。並將你的java代碼編譯成舊版本的java。
從甲骨文的文章: http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html
交叉編譯例
在這裏我們使用javac編譯將在1.4虛擬機上運行的代碼。
% javac -target 1.4 -bootclasspath jdk1.4.2/lib/classes.zip \
-extdirs "" OldCode.java
您可能還需要以下參數才能設置代表您的代碼版本。
-source release
- 指定接受的源代碼的版本。
2
0
您可以使用JDK的最新版本和源代碼級別設置爲1.5 - 只要你不使用類/ 1.5之後引入的方法,你應該確定爲JVM 1.5及以上的所有版本:
-source 1.5
0
從JDK 9,javac的支持交叉編譯
javac -release N ...
一個新的選項,這相當於
javac -source N -target N –bootclasspath rtN.jar
0
您可以指定編譯器比構建Java較低的目標版本版本(所有答案基本上都是這樣說的),但是你不應該這麼做:它非常混亂,因爲它只有在你爲實際的目標版本提供類庫時纔會有效。如果你這樣做,你只需使用這個舊的Java版本進行編譯就會好很多。更清潔,更少的東西來設置。對於Java 9,選項稍微好一點,但仍需要一箇舊的JDK來存放rt.jar。
你可以做的是在你的IDE和開發週期中使用-target
/-bootclasspath
技巧來獲得更快的編譯器和更好的警告,但是IT和發佈版本應該使用目標版本來完成。
相關問題
- 1. Java DAO如何支持舊的數據庫模式版本
- 2. Java版本支持的Unicode版本6
- 3. 支持舊版本的Flash?
- 4. 支持舊版本的iOS
- 5. 編譯舊版本的gcc
- 6. 用Java編寫Berkeley DB的舊版本
- 7. Java編譯器是使用舊版本的源代碼
- 8. 如何使用舊版本的Java FX?
- 9. Java編譯器版本和Java版本是不同的
- 10. 不支持的Java類版本52
- 11. 哪個版本的Eclipse支持Java 8?
- 12. 檢測支持的最低Java版本
- 13. GNU Java編譯器是否支持JNA?
- 14. 反編譯器支持Java 8?
- 15. Java -version顯示舊版本的java
- 16. 支持舊版本iOs的Twitter集成
- 17. 支持舊的iOS版本和設備
- 18. .xcassets支持較舊的IOS版本
- 19. 支持較舊的iOS版本
- 20. 與Java 8,不支持major.minor版本51.0
- 21. Griffon支持哪些Java版本?
- 22. 編譯錯誤JAVA的多版本
- 23. 支持android版本和編譯android版本?
- 24. 嘗試使用java編譯時彈出引導「不支持major.minor版本51.0」6
- 25. 如何刪除Java的舊版本,然後安裝新版本
- 26. 如何卸載較新版本的java並安裝舊版本?
- 27. Java版本,Tomcat,不受支持的major.minor版本52.0
- 28. 如何修復Android Studio不受支持的Java版本?
- 29. validate_cmd在木偶:支持舊版本
- 30. iOS7應用程序支持舊版本?
看看http://www.veryant.com/support/phpkb/question.php?ID=57 – Mualig 2012-07-06 15:09:23
'javac -source 1.5 -target 1.5 OverridingInternalExample.java'爲我工作 – 2018-02-17 05:28:14