2014-02-14 49 views
0

我的jar文件在開發機器上工作,但不會在測試電腦上執行。 我檢查了一下,發現沒有安裝jdk,我沒有該特定PC上的安裝權限。缺乏JDK是我沒有得到結果的原因嗎?這是我得到的。Jar文件未在測試電腦上執行

C:\Users\autosterileprocuser>java -jar C:\Users\autosterileprocuser\Documents\Sc 
hedule.jar 
Exception in thread "main" java.lang.UnsupportedClassVersionError: sterileProc/S 
cheduleApp : Unsupported major.minor version 51.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$000(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 java.lang.ClassLoader.loadClassInternal(Unknown Source) 
Could not find the main class: sterileProc.ScheduleApp. Program will exit. 
+0

運行Java程序不需要JDK。你所需要的只是'JRE',顯然它已經安裝在你的測試機器上。 –

回答

0

這是一個典型的Java版本問題。你正在執行你的jar,而java的版本比用來編譯它的版本老。

在兩臺計算機上鍵入java -version,您將看到不同之處。

例如,當您使用JDK7編譯jar並使用JRE6執行它時,會發生這種情況。

0

要執行jar文件,您需要一個JRE Java運行時環境,但不需要JDK Java開發環境。

錯誤表明安裝的JRE不支持使用更高版本的JDK編譯的Java類,您可以使用javac的-target選項來指定您的類將被編譯的最佳版本。

0

您正在使用舊版本的Java。這就是java.lang.UnsupportedClassVersionError的含義,所以只需在測試機器上更新Java即可。