2015-10-02 4 views
1

У меня есть 2 файла, Project.jar и JavaFile.java, сохраненные в папке Project. Я скомпилировал оба успешно используя терминал Мака согласно ниже:Ошибка при запуске .jar на Mac

javac -cp Project.jar JavaFile.java 

Однако после попытки запустить программу, которая, как предполагается получить 2 аргумента, используя

java -cp Project.jar JavaFile argument1 argument2 

Я получаю следующее сообщение об ошибке :

Exception in thread "main" java.lang.NoClassDefFoundError: JavaFile 
Caused by: java.lang.ClassNotFoundException: JavaFile 
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:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 

Я очень новичок в Java, и любая помощь будет высоко оценена.

Спасибо!

+0

Вы уже попробовать с «Project.jar»? – kwoxer

+0

Я не верю, что это то, что вы используете. Просьба привести полный пример, воспроизводящий это поведение. –

+0

Игнорируя мой ответ ниже, давайте попробуем еще одну вещь; Вы пытались добавить текущий каталог в класс-путь? То есть java -cp.: Program.jar JavaFile arg1 arg2? –

ответ

0

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

javac -cp "Project.jar:" JavaFile.java 

java -cp "Project.jar:" JavaFile 
Смежные вопросы