在 Eclipse 中,我编写了一个带有 main()
函数的 Java 类 Test
。
在定义类的项目中,我添加了 jar 文件 bcprov-jdk15on-151.jar
(我正在使用库 BouncyCaSTLe)。
在Eclipse中,没有问题,我的程序运行正常。但是当我尝试在终端中执行此操作时,出现异常。
检查后我发现了类似的帖子: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 :无法找到或加载主类Test
,因此看起来依赖错误已解决,但又出现了另一个错误。
我做错了什么?只是给出我的 .java
文件的结构:
import java.io.*;
...
public class Test {
... local methods ...
public static void main(String[] args) {
...
}
}
提前致谢。
最佳答案
试试这个,你忘了包含当前路径“。”
java -cp ".;bcprov-jdk15on-151.jar" Test
希望对你有帮助
关于终端中存在 jar 文件的 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807399/