java 无法集成 BouncyCastle Jar
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/10134161/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Trouble integrating BouncyCastle Jar
提问by user1174511
Okay, I'll say now that I know very little about Java. I was given the Bouncy Castle Jar and told that would contain what I needed to do this assignment. The Jar file is bcprov-jdk15on-147.jar
. I'm also doing this on a Unix machine maintained by my school, so I can't go in and play with all of the Java files.
好的,我现在要说的是,我对 Java 知之甚少。我得到了充气城堡罐子,并告诉我里面装着我完成这项任务所需的东西。Jar 文件是bcprov-jdk15on-147.jar
. 我也在学校维护的 Unix 机器上执行此操作,因此我无法进入并使用所有 Java 文件。
When I compile my class using Javac (specifically I use the command javac -classpath bcprov-jdk15on-147.jar encrypt.java
), it compiles without error, but when I go to run the program afterward using the command java encrypt
, I get this error message:
当我使用 Javac 编译我的类时(特别是我使用 command javac -classpath bcprov-jdk15on-147.jar encrypt.java
),它编译没有错误,但是当我使用 command 去运行程序时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.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)
My Jar file is located in my main folder with all of my other files, just in case it has to go somewhere special and that's what I didn't do.
我的 Jar 文件与我的所有其他文件位于我的主文件夹中,以防万一它必须放在特殊的地方而我没有这样做。
When I do java -classpath bcprov-jdk15on-147.jar encrypt
this is the error I get:
当我这样做时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.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)
Why am I having trouble running the compiled program?
为什么我在运行编译后的程序时遇到问题?
采纳答案by óscar López
Type this for running the program:
输入以下内容以运行程序:
java -classpath bcprov-jdk15on-147.jar:. encrypt
That's because your program also needs to have any libraries it uses as part of the classpath at the time of running, not only at compile time.
那是因为您的程序还需要在运行时将其用作类路径的一部分的任何库,而不仅仅是在编译时。