2013-04-20 81 views
1

我正在使用Eclipse,并在我的Java Project中添加了一个外部jar文件。它编译成功并顺利运行。当使用外部jar运行bat文件时NoclassDefFoundError异常

当我开始在Eclipse IDE之外运行时出现问题。我在bin文件夹中创建了一个bat文件(包含所有类的文件夹已经被编译)。此bat文件是:

java package.ClassToRun 

但是当我执行这个bat文件,我收到错误:NoclassDefFoundError因为Java找不到类X(X类在我的外部JAR文件)。

我该如何解决这个问题。 (意思是我可以在IDE之外运行这个类)。

+1

http://cs.brown.edu/courses/cs015/docs /guide_to_exporting_runnable_jars.pdf – 2013-04-20 18:54:12

回答

2

你可以在外部.jar添加到您的类路径:

java命令/usr/local/jar/foobar.jar com.your.main.classname


您也可以在您拥有.jar文件的文件夹中创建一个文件夹(类似lib)。

Manifest.MF内容可以是:

Main-Class: com.your.main.classname 
Class-Path: lib/one.jar lib/two.jar 

文件夹的内容:

mainFolder/ 
    * lib/one.jar 
    * lib/two.jar 
    * my-main.jar 

要执行:

+0

感谢您的详细帮助。我认为你错过';'当声明jar时。该命令应该是:'java -cp path_to_jar_file; com.your.main.classname' – hqt 2013-04-20 20:03:18

+0

@hqt所以我做了,现在已经修复了。很高兴我能帮上忙。 – syb0rg 2013-04-20 20:05:09

1

您应该在执行程序时将外部jar添加到-classpath。

相关问题