我已将命令jar -cvf myjar.jar javaproject
用于整个Java Project的创建JAR文件
我无法从jar文件运行类文件,我在命令提示符中给出了这样的类别:
D:Automation>java -cp myjar.jar bin.Test.First
发生以下例外:
Exception in thread "main" java.lang.NoClassDefFoundError: bin/Test
Caused by: java.lang.ClassNotFoundException: bin.Test.First
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Metho
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Sourc
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: bin.Test.First. Program will exit.
我在Eclipse中这样的项目结构:
javaproject
|
|- src
|
|- package(Test)
|
|- First.java
注意:类文件是bin文件夹,而我在eclipse中保存了test.java文件,其中src不是系统创建文件夹,它是由eclipse
您需要省略bin文件夹。使用
jar cvf myjar.jar -C bin .
创建JAR文件。-C
选项告诉jar
在创建JAR文件之前,请进入指定的文件夹(在这种情况下为bin
)。
然后使用
java -cp myjar.jar Test.First
运行您的应用程序。bin
文件夹不是您的Java软件包结构的一部分。
仅将bin
目录的内容添加到JAR中。如果您感到困惑,一种简单的方法是选择bin
目录的内容并将其添加到ZIP档案中,然后将扩展名更改为jar
。那么您可以使用
java -cp myjar.jar Test.First
既然您正在使用蚀,请转到
File --> Export --> Runnable Jar File
这样只需使用
java -jar myjar.jar
您最简单&在eclipse IDE
中创建JAR的替代方法
请参阅此处并按照这些步骤创建一个JAR。
运行,从命令提示符移动到bin文件夹
>java -cp path/to/jar/ classname