簡體   English   中英

由於運行jar文件中的版本兼容性而導致錯誤

[英]Error due to version compatibility in running jar file

我已經使用JDK 8.0創建了一個jar文件,並嘗試在具有JRE 7.0的系統中運行jar文件,但是卻出現了如下錯誤:

C:\Users\admin\Desktop>java -jar test.jar  
Exception in thread "main" java.lang.UnsupportedClassVersionError: test : Uns
upported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

我需要在jar文件創建中進行哪些更改。 這樣它將在沒有版本兼容性的情況下運行?

您需要為javac使用-source選項。 例如:

javac -source 1.7 foo/Bar.java

從理論上講,您可以分別指定source選項和target選項,但是從您的評論來看,聽起來像在定位1.7時根本無法使用Java 8語言功能。

請注意,這僅涵蓋您自己的源代碼。 如果xbasej-20091203.jar是針對Java 8構建的,則需要查找針對Java 7的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM