我已经使用命令jar -cvf myjar.jar javaproject
来创建整个Java项目的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创建的
答案 0 :(得分:0)
您需要省略bin文件夹。使用
jar cvf myjar.jar -C bin .
创建jar文件。在创建jar文件之前,-C
选项告诉jar
进入指定的文件夹(本例中为bin
)。
然后使用
java -cp myjar.jar Test.First
运行您的应用程序。 bin
文件夹不是Java包结构的一部分。
答案 1 :(得分:0)
你最简单的&在eclipse IDE
See here并按照这些步骤创建一个jar。
要运行,请从命令提示符移动到bin文件夹
>java -cp path/to/jar/ classname
答案 2 :(得分:0)
仅将bin
目录的内容添加到JAR。如果您感到困惑,一种简单的方法是选择bin
目录的内容并将其添加到zip存档并将扩展名更改为jar
。然后你可以使用
java -cp myjar.jar Test.First
由于你正在使用eclipse,只需转到
File --> Export --> Runnable Jar File
这种方式只需使用
java -jar myjar.jar