2015-10-02 79 views
1

我有2个文件,Project.jar和JavaFile.java,保存在名为Project的文件夹中。我整理了他们俩成功地使用Mac的终端按如下:在Mac上运行.jar时出错

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