2012-05-14 4 views
0
$ pwd 
/home/tu/java/testpackage 

$ cat Test.java 
package testpackage; 

public class Test { 
    public static void main(String[] args) { 
     System.out.println("hi"); 
    } 
} 

$ javac -version 
javac 1.7.0_147 

$ java -version 
java version "1.6.0_23" 
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2) 
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing) 

$ cd .. 
$ javac -cp . testpackage/Test.java 

$ java -cp . testpackage.Test 

Exception in thread "main" 
java.lang.UnsupportedClassVersionError: testpackage/Test : 
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: testpackage.Test. Program will exit. 

Что может быть неправильным в моем случае этой ошибки?Исключение UnsupportedClassVersionError в Java 1.6.0

+1

Используйте 'java -cp. testpackage.Test'. Аргумент 'java' является ** именем класса **, а не именем исходного файла Java. –

+0

ОК, я отредактирую вопрос, чтобы отразить прогресс. – xralf

+0

Я отредактировал его, теперь он должен его отразить. Когда я пытался больше возможностей в командах, это была одна из ошибок, которые произошли. – xralf

ответ

2

java утилита не является компилятором. Это JVM.

Вы должны скомпилировать код первого:

javac -cp . testpackage/Test.java

Это произведет Test.class файл. Теперь вы можете запустить его:

java -cp . testpackage.Test

Обратите внимание, что при запуске программы вам не нужно писать .class расширение.

+0

Я сделал это. Теперь он заканчивается на [UnsupportedClassVersionError] (http://pastebin.com/bUbiv62M) – xralf

+0

[This] (http://stackoverflow.com/a/10585475/653379) является продолжением вопроса, который помог мне решить его полностью , – xralf

0

Удалить .java от вас java-команда.

Необходимо указать полное имя класса, которое является «testPackage.Test».

+0

Я сделал это. Теперь он заканчивается на [UnsupportedClassVersionError] (http://pastebin.com/bUbiv62M) – xralf

0

С/дома/TU/Java:

Java -cp. testPackage.Test

(не ставят '.java' на конце)

+0

Я сделал это. Теперь он заканчивается на [UnsupportedClassVersionError] (http://pastebin.com/bUbiv62M) – xralf

Смежные вопросы