2013-12-18 72 views
0

嗨我在eclipse中有一個java項目。主類如下:在亞馬遜ec2上運行jar問題

package aws; 

public class Assignment3 { 
public static void main(String[] args) throws Exception { } 
} 

我的清單文件是:

Manifest-Version: 1.0 
Class-Path: aws.Assignment3 

我出口我的可執行的JAR與SCP我EC2成功。當我嘗試運行我的罐子我得到:

[[email protected] project]$ java -jar alertShopper.jar 
Exception in thread "main" java.lang.UnsupportedClassVersionError: aws/Assignment3 : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
Could not find the main class: aws.Assignment3. Program will exit. 

我做

[[email protected] project]$ java -version 
java version "1.6.0_20" 
OpenJDK Runtime Environment (IcedTea6 1.9.1) (amazon-44.1.9.1.16.amzn1-i386) 
OpenJDK Client VM (build 19.0-b06, mixed mode) 

我不知道自己還能做些什麼。任何幫助將不勝感激。 謝謝

我現在有一個新的ec2亞馬遜ami,它已經安裝了java 1.7。但我需要在amazon linux ami上安裝jre-1.7。

+0

升級到Java 7. Java 8即將推出,Java 6在這一點上是古老的。 – chrylis

+0

我試圖sudo yum在ec2上安裝java-1.7.0-openjdk,但是說沒有要安裝的軟件包 –

+0

這應該適用於Amazon Linux AMI。你在使用不同的嗎? – chrylis

回答

0

不受支持的版本MAJOR.MINOR 51.0

時所使用的Java版本編譯代碼比你運行你的代碼版本的不同這個問題發生。編譯期間JDK版本更高,運行時JDK版本更低。

您可能需要specify -target if you want to run lower version

+1

所以我應該用不同的java版本重新編譯我的項目並重新制作jar文件? –

+0

@sa_nyc:是的,您需要在編譯Java代碼時升級運行時Java版本(或)使用-target。在答案中增加了參考。 – kosa

+0

我試圖做sudo yum在ec2上安裝java-1.7.0-openjdk,但它說沒有要安裝的軟件包 –

0

全部完成做 sudo yum install jre-1.7.0-openjdk,改變到Java 1.7。