我的applet应用程序在JRE 7编译并创建了带签名的jar。我在客户端机器上部署了.jar文件。但我在IE上遇到了“不支持major.minor版本51.0”的例外情况。我想提供一个applet jar文件来兼容所有的浏览器。如何使兼容性成为一个jar文件?JAR与所有JRE版本的兼容性
回答
,最好的办法是编译使用旧的JDK你的应用程序。我想这是您直接看到您使用旧版JRE上可用的正确JDK API以及旧版JRE/JDK上可用的正确二进制版本中的依赖项(类路径上的第三方JAR文件)的唯一方法。尽可能远地使用,即使用版本1.3,1.4,1.5或1.6中的JDK。
如果该库不适用于较旧的JRE版本,则需要以某种方式将其移回(也可能是其传递依赖关系)。这可能会非常棘手,可能需要付出很多努力(使用RetroWeaver等工具)。因此,请谨慎选择向后兼容的选项。
使用javac
中的-source
和-target
标志,将源文件编译为较低的目标版本 - 具体而言,是要支持的目标JVM版本。
所以,举例来说:
javac -source 5 -target 5 -sourcepath /path/to/code -d /path/to/compiled/code *.java
另外一个好主意是使用某种API检查器来确保应用程序只使用任何JDK提供的库。 – millimoose
为什么不直接使用较旧的JDK进行编译?然后你知道它不能使用那个版本中没有的库。 –
编译器向后兼容。为什么我们需要得到一个较旧的编译器才能使用故意烘焙的功能? – Makoto
- 1. JRE/Windows版本兼容性
- 2. Java JRE版本不兼容
- 3. JRE 1.7与win7(x64)的兼容性
- 4. Apache MiNiFi与jre-1.7的兼容性
- 5. 版本兼容性
- 6. 已编译代码的Java(JRE)版本兼容性
- 7. 与各种PDF版本的兼容性
- 8. Ios6与早期版本的兼容性
- 9. JAX WS兼容性JRE 1.4
- 10. 如何让所有Android库与所有Android版本兼容?
- 11. CXF与WebSphere JRE不兼容
- 12. JRuby Java版本兼容性
- 13. huey django版本兼容性
- 14. g ++版本兼容性
- 15. Dojo版本兼容性
- 16. 安卓版本兼容性
- 17. Infragistics版本2010兼容性
- 18. Lucene - Solr版本兼容性
- 19. ServiceStack版本兼容性
- 20. Silverlight 3版本兼容性
- 21. C#版本兼容性
- 22. Microsoft SQL版本兼容性
- 23. Java技术中的jar版本兼容性矩阵?
- 24. .jar与Scala不兼容的版本交叉编译(2.10)
- 25. 与旧版DotNetNuke版本的SQL Server兼容性
- 26. .Jar文件兼容性
- 27. jquery和knockout js的版本兼容性
- 28. JNI库的Java版本兼容性
- 29. 验证java版本的兼容性
- 30. android不同版本的兼容性
“所有浏览器的任何JRE”都是傻瓜差事。对于支持Java 1.3或更早版本来说,没有任何价值和方式太麻烦,并且我个人在1.6之前不会打扰任何东西。 – millimoose