[英]Suffer from jdk version compatibility issue with jdk8 compiler though targetCompatibility is 1.7 already
[英]JDK compiler version issue
我正在使用Ant來編譯Java。該項目必須使用JDK 1.5進行編譯,但是部分代碼引用了使用JDK 1.6版本編譯的軟件包。 我將JAVA_HOME設置為1.5,在此引用上拋出錯誤
[javac]類文件的版本50.0錯誤,應為49.0
沒有將參考版本降級到1.5的解決方法
您的要求是不可能的。 您應該使用JDK 1.5編譯您的庫。
一旦以某個特定版本編譯了Java,就不能在Java的較早版本上使用該版本。
您使用的軟件包可能具有適用於Java較早版本的版本,或者,您可能能夠獲取源代碼並使用較舊版本重新編譯(如果它不使用任何Java 6庫/功能) 。
這樣想:
您使用的庫已使用JDK 6進行了編譯。它可能正在使用Java 6中引入的某些功能(這些功能不是Java早期版本的一部分)
當您使用JDK 5進行編譯和運行時,當遇到此“新”功能時,您希望編譯器(和運行時)做什么? JDK 5不知道此功能,將被“混淆”
為了避免在運行時出現這種混亂,編譯本身將失敗。
您有兩種選擇:
如果您的項目使用的是JDK 6,並且該庫是使用JDK 5編譯的,則由於向后兼容,您將不會遇到此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.