2010-07-27 3 views
0

Я просто пытаюсь скомпилировать и запустить очень простую тестовую программу, но она просто не сработает, и я понятия не имею, в чем проблема.ClassNotFoundException, созданный при компиляции базовой программы Hello World

У меня есть проект java, который навалился на меня, и я ничего не знаю о java. Особенно компилируется из командной строки Windows.

У меня есть два баночки, которые мне нужно скомпилировать с помощью простой программы «привет мир».

Вот мой "build.bat"

C:\jdk1.6.0_21\bin\javac -cp "C:\Users\FREYERA\Desktop\Test";"C:\Users\FREYERA\Desktop\Test\test1.jar";"C:\Users\FREYERA\Desktop\Test\test2.jar"; "C:\Users\FREYERA\Desktop\Test\sample.java" 

Затем я:

C:\jdk1.6.0_21\bin\java sample 

Это выплевывает обратно сообщение об ошибке:

Exception in thread "main" java.lang.NoClassDefFoundError: sample Caused by: java.lang.ClassNotFoundException: sample at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method at java.net.URLClassLoader.findClass(URLClassLoader.java:190 at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

Независимо от того, как я создал свой путь к классам , Я не могу за всю свою жизнь запустить эту программу HELLO WORLD.

Может кто-то, пожалуйста, помогите мне? Я вытаскиваю волосы.

ответ

1

Вы также можете указать путь к классам для переводчика, чтобы найти ваш класс:

java -classpath "C:\Users\FREYERA\Desktop\Test";"C:\Users\FREYERA\Desktop\Test\test1.jar";"C:\Users\FREYERA\Desktop\Test\test2.jar"; Sample 

Это приведет к запуску вашего класса из любого рабочего каталога.

1

Запустите программу из каталога с классом в нем:

C:\Users\FREYERA\Desktop\Test\>java sample

CLASSPATH (обычно) включает в себя текущий каталог.

Если у вас есть «sample.class» в текущем каталоге, и вы также должны классы в test1.jar и test2.jar, это должно работать:

java -cp "test1.jar;test2.jar;." sample

+0

Рабочий каталог был каталогом C: \ Users \ FREYERA \ Desktop \ Test \>. Кажется, ничего не изменилось. –

+0

Чехол для Java. Является ли ваш класс «образцом» или «образцом»? – mwalker

0

Afer Запуск этой команды

C: \ jdk1.6.0_21 \ Bin \ JAVAC -cp "C: \ Users \ FREYERA \ Desktop \ Test", "C: \ Users \ FREYERA \ Desktop \ Test \ test1.jar "" C: \ Users \ FREYERA \ Desktop \ Test \ test2.jar "; «C: \ Users \ FREYERA \ Desktop \ Test \ sample.java»

Он создал файл .class в этом месте «C: \ Users \ FREYERA \ Desktop \ Test \». то есть sample.class

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

Или вы можете скопировать файл sample.class в папку «C: \ jdk1.6.0_21 \ bin \» и запустить команду.