终端中带有jar文件的java.lang.NoClassDefFoundError

时间:2015-09-27 11:26:18

标签: java exception

在Eclipse中,我编写了一个带有Test函数的Java类main()。 在该项目中定义了类,我添加了jar文件bcprov-jdk15on-151.jar(我正在使用库BouncyCastle)。

在Eclipse中,没有问题,我的程序正常运行。但是当我尝试在终端中进行此操作时,我得到了一个例外。

检查完SO后,我发现了一个类似的帖子:NoClassDefFoundError while running a java program in terminal from IDE但是给出的解决方案不起作用。

为了说明我的情况,在目录C:\Docs\workspace\Terminal\bin\中我有文件Test.class。如果我运行java Test,我会Exception in thread "main" java.lang.NoClassDefFoundError: org.bouncycastle.math.ec.ECFieldElement

如果我运行java -cp bcprov-jdk15on-151.jar Test(我将.jar放在同一目录中以简化)我得到Error: Could not find or load main class Test所以似乎解决了依赖性错误,但又出现了另一个。

我做错了什么?只是给出.java文件的结构:

import java.io.*;
   ...
public class Test {

    ... local methods ...

   public static void main(String[] args) {
       ...
   }
}

提前致谢。

1 个答案:

答案 0 :(得分:1)

试试这个,你忘了包含当前路径"。"

 java -cp ".;bcprov-jdk15on-151.jar" Test

希望有所帮助