无法整合BouncyCastle Jar

时间:2012-04-13 01:30:51

标签: java jar bouncycastle

好的,我现在要说我对Java知之甚少。我得到了Bouncy Castle Jar,并告诉我将包含我需要做的任务。 Jar文件是bcprov-jdk15on-147.jar。我也是在我学校维护的Unix机器上做这个,所以我不能进去玩所有的Java文件。

当我使用Javac编译我的类(特别是我使用命令javac -classpath bcprov-jdk15on-147.jar encrypt.java)时,它编译时没有错误,但是当我使用命令java encrypt继续运行程序时,我收到此错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

我的Jar文件位于我的主文件夹中,包含我的所有其他文件,以防万一它必须去特别的地方,这就是我没有做的。

当我做java -classpath bcprov-jdk15on-147.jar encrypt这是我得到的错误:

    Exception in thread "main" java.lang.NoClassDefFoundError: encrypt
Caused by: java.lang.ClassNotFoundException: encrypt
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

为什么我在运行已编译的程序时遇到问题?

1 个答案:

答案 0 :(得分:6)

键入以运行程序:

java -classpath bcprov-jdk15on-147.jar:. encrypt

这是因为你的程序在运行时还需要有任何库作为类路径的一部分,而不仅仅是在编译时。