使用外部jar运行bat文件时出现NoclassDefFoundError异常

时间:2013-04-20 18:49:03

标签: java

我正在使用Eclipse,在我的Java项目中,我添加了一个外部jar文件。它编译成功并顺利运行。

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

java package.ClassToRun

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

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

2 个答案:

答案 0 :(得分:2)

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

  

java -cp /usr/local/jar/foobar.jar   com.your.main.classname


您还可以在包含lib文件的文件夹中创建一个文件夹(类似.jar)。

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

执行:

java -jar my-main.jar

答案 1 :(得分:1)

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