2013-08-15 3 views
0

Я пытаюсь выполнить Test.classНовичок: Ошибка выполнения

Код для Test.java

package pkg; 
public class Test {   
    public static void main(String args[]) {   
    System.out.println("This is a test"); 
    }   
} 

Я составил Test.java использованием javac -d . Test.java После чего был создан каталог "PKG". Тогда я сделал следующий

cd pkg

java Test

В этот момент я получаю следующее сообщение об ошибке.

C:\Users\varung\J\pkg>java Test 
Exception in thread "main" java.lang.NoClassDefFoundError: Test (wrong name: pkg 
/Test) 
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) 

Может кто-нибудь помочь?

+4

Вы попробовали 'java pkg.Test' из исходного каталога? –

+0

Пожалуйста, не публикуйте неформатированный код –

ответ

3

Попробуйте сделать это следующим образом:

javac -d . Test.java 
java pkg.Test 

Команда java принимает имя fully qualified класса в качестве основного аргумента. Полноценное имя на Java включает объявления пакетов (полное имя вашего класса: pkg.Test).

С java также нужна правильная структура каталогов для пакетов, вы должны выполнить команду из каталога, в который вы скомпилировали источник, который в этом случае равен ..

+2

Можете ли вы объяснить, в чем проблема? Научите их ловить рыбу –

+0

Джеффри ... спасибо, что это сработало – UnderDog

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