J'ai téléchargé un fichier xSocket.jar qui sera utilisé comme classpath et compilera myprogram.jar, tous deux dans le dossier Java. L'ajout d'un chemin de classe dans Manifest est-il possible de trouver xSocket.jar sans avoir besoin de définir un -cp
dans la ligne de commande?Classpath dans le manifeste
Dans mon commandline D:\>
emplacement, j'ai essayé de courir java -jar java\myprogram.jar -n 0
Exception in thread "main" java.lang.NoClassDefFoundError: org/xsocket/connectio
n/IBlockingConnection
at myprogram.main(myprogram.java:114)
Caused by: java.lang.ClassNotFoundException: org.xsocket.connection.IBlockingCon
nection
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 1 more
Mon Manifest dans myprogram.jar:
Manifest-Version: 1.0
Created-By: 1.6.0_22 (Sun Microsystems Inc.)
Main-Class: myprogram
Class-Path: xSocket
Oui, ça a marché! Pas étonnant, je passais 2 jours pour que mon application Flash NativeProcess fonctionne car il y a un bug qui est incapable d'exécuter Jar avec -cp correctement. Mais puis-je déclarer classpath dans le chemin absolu? Tels que "D: \ java \ xSocket.jar" sans la double citation? – Proyb2