我想編譯我的.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版本支持的Unicode版本6
- 2. 支持舊版本的Flash?
- 3. 編譯舊版本的gcc
- 4. 用Java編寫Berkeley DB的舊版本
- 5. Java編譯器是使用舊版本的源代碼
- 6. 如何使用舊版本的Java FX?
- 7. Java編譯器版本和Java版本是不同的
- 8. 不支持的Java類版本52
- 9. 反編譯器支持Java 8?
- 10. GNU Java編譯器是否支持JNA?
- 11. Java -version顯示舊版本的java
- 12. 支持較舊的iOS版本
- 13. 支持舊版本iOs的Twitter集成
- 14. 支持舊的iOS版本和設備
- 15. 與Java 8,不支持major.minor版本51.0
- 16. Griffon支持哪些Java版本?
- 17. 編譯錯誤JAVA的多版本
- 18. Java版本,Tomcat,不受支持的major.minor版本52.0
- 19. validate_cmd在木偶:支持舊版本
- 20. Java IO異常功能支持來自不同的Java版本
- 21. 如何在Windows上使用GPU支持編譯Tensorflow Java API?
- 22. 檢查Java編譯器版本(JDK版本)的編譯後的class文件
- 23. 編譯爲舊版本的Mac OS X
- 24. 使用java版本4.0編譯
- 25. Java支持哪種ZIP版本(1.6或其他版本)
- 26. 如何解決:[javac]這個版本的java不支持經典的編譯器;升級到現代
- 27. Java編譯錯誤的舊文件
- 28. 編譯不同版本的不同版本 - Java
- 29. Eclipse:如何在安裝Eclipse之後安裝Java編程支持Javascript版本
- 30. 如何知道編譯了一個.class文件的Java版本?
看看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