さて、私は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)
コンパイルされたプログラムの実行に問題があるのはなぜですか?