ClassNotFoundException выбрасывается при компиляции базовой программы Hello World - PullRequest
0 голосов
/ 27 июля 2010

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

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

У меня есть два Jar-файла, с помощью которых мне нужно скомпилировать простую программу "hello world".

Вот мой "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

Это выдает ошибку:

Исключение в потоке "main" java.lang.NoClassDefFoundError: sample Причина: java.lang.ClassNotFoundException: образец в java.net.URLClassLoader $ 1.run (URLClassLoader.java:202) в java.security.AccessController.doPrivileв java.net.URLClassLoader.findClass (URLClassLoader.java:190 в java.lang.ClassLoader.loadClass (ClassLoader.java:307) в sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java: в java.lang.ClassLoader.loadClass (ClassLoader.java:248)

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

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

Ответы [ 3 ]

1 голос
/ 27 июля 2010

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

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

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

1 голос
/ 27 июля 2010

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

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

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

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

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

0 голосов
/ 27 июля 2010

После запуска этой команды

C: \ jdk1.6.0_21 \ bin \ javac -cp "C: \ Users \ FREYERA \ Desktop \ Test"; "C: \ Users \ FREYERA \ Desktop \ Test \ test1.jar"; "C: \ Пользователи \ FREYERA \ Desktop \ Test \ test2.jar "; "C: \ Users \ FREYERA \ Desktop \ Test \ sample.java"

Он создал бы файл .class в этой папке "C: \ Users \ FREYERA \ Desktop \ Test \". то есть образец.класса

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

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

...