麻烦整合BouncyCastle的罐(Trouble integrating BouncyCastl

2019-06-23 14:33发布

好吧,我现在说我还不是很了解的Java。 我被赋予了充气城堡罐,并告诉会包含什么,我需要做这个作业。 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)

为什么我在运行编译后的程序麻烦吗?

Answer 1:

键入此运行程序:

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

这是因为你的程序也需要有它使用的类路径的一部分,任何图书馆的运行,不仅在编译时的时间。



文章来源: Trouble integrating BouncyCastle Jar