我的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. 與Spark的Hive版本兼容性
- 8. 與各種PDF版本的兼容性
- 9. Ios6與早期版本的兼容性
- 10. PhantomJS版本與硒的兼容性
- 11. JAX WS兼容性JRE 1.4
- 12. 如何讓所有Android庫與所有Android版本兼容?
- 13. CXF與WebSphere JRE不兼容
- 14. Infragistics版本2010兼容性
- 15. SSL/TLS版本兼容性?
- 16. JRuby Java版本兼容性
- 17. 安卓版本兼容性
- 18. huey django版本兼容性
- 19. Microsoft SQL版本兼容性
- 20. 版本兼容性問題?
- 21. g ++版本兼容性
- 22. Lucene - Solr版本兼容性
- 23. ServiceStack版本兼容性
- 24. Dojo版本兼容性
- 25. Silverlight 3版本兼容性
- 26. C#版本兼容性
- 27. Java技術中的jar版本兼容性矩陣?
- 28. cassandra版本與3.7兼容?
- 29. .jar與Scala不兼容的版本交叉編譯(2.10)
- 30. 如何使Android程序與所有版本兼容
「所有瀏覽器的任何JRE」都是傻瓜差事。對於支持Java 1.3或更早版本來說,沒有任何價值和方式太麻煩,並且我個人在1.6之前不會打擾任何東西。 – millimoose