1

我已经使用该命令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     

注意:class文件来自bin文件夹,而我在Eclipse中保存了Test.java文件,其中src不是系统创建文件夹,是Eclipse创建的

4

3 回答 3

0

你有最简单的替代方法来创建一个罐子eclipse IDE

请参阅此处并按照这些步骤创建一个 jar 。

要运行,请从命令提示符移至 bin 文件夹

 >java -cp path/to/jar/ classname
于 2012-10-26T07:02:54.437 回答
0

仅将目录的内容添加bin到 JAR。如果您感到困惑,一个简单的方法是选择bin目录的内容并将它们添加到 zip 存档并将扩展名更改为jar. 然后你可以使用

java -cp myjar.jar Test.First

而且由于您使用的是eclipse,因此请转到

File --> Export --> Runnable Jar File

这种方式只需使用

java -jar myjar.jar
于 2012-10-26T07:04:46.480 回答
0

您需要省略 bin 文件夹。利用

jar cvf myjar.jar -C bin .

创建 jar 文件。该-C选项告诉在创建 jar 文件之前jar进入指定的文件夹(在这种情况下)。bin

然后使用

java -cp myjar.jar Test.First

运行您的应用程序。该bin文件夹不是 Java 包结构的一部分。

于 2012-10-26T06:54:14.757 回答