Problèmes d'intégration BouncyCastle Jar
D'accord, je vais le dire maintenant que je sais très peu de choses sur Java. On m'a donné le Château Gonflable Pot et dit que contiendrait ce que je devais faire cette mission. Le fichier Jar est bcprov-jdk15on-147.jar
. Je suis aussi le faire sur une machine Unix maintenu par mon école, donc je ne peux pas aller et de jouer avec tous les fichiers Java.
Quand je compile ma classe à l'aide de Javac (plus précisément j'utilise la commande javac -classpath bcprov-jdk15on-147.jar encrypt.java
), il compile sans erreur, mais quand je vais pour lancer le programme par la suite l'aide de la commande java encrypt
, j'obtiens ce message d'erreur:
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)
Mon fichier Jar se trouve dans mon dossier principal avec tous mes autres fichiers, juste au cas où il doit aller quelque part spécial et c'est ce que je ne voulais pas faire.
Quand je fais java -classpath bcprov-jdk15on-147.jar encrypt
c'est l'erreur que je reçois:
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)
Pourquoi suis-je de la difficulté à l'exécution du programme compilé?
OriginalL'auteur user1174511 | 2012-04-13
Vous devez vous connecter pour publier un commentaire.
Ce Type pour l'exécution du programme:
C'est parce que votre programme doit également avoir toutes les bibliothèques il utilise dans le cadre de la classpath au moment de l'exécution, non seulement au moment de la compilation.
Aha!. C'était un problème de classpath. Et quelle est cette "légèrement différentes d'erreur" vous êtes maintenant? J'ai mis à jour ma réponse à également prendre en compte le local chemin de classe, essayez de nouveau.
Ah! Qui l'a fait! Merci!
Une fois que je suis autorisé à en 4 minutes, je vais le faire!
est-il un paramètre que vous pouvez configurer de sorte que vous n'avez pas besoin de le faire au moment de l'exécution? mon classpath ce pot déjà.
OriginalL'auteur Óscar López