我想编译我的.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