J'ai un tas de fichiers .java dans un dossier "src" qui dépendent de trois jars dans un dossier "lib". Je le fichier build.xml suivant:Comment inclure plusieurs jars dans le classpath en utilisant ant?
<?xml version="1.0"?>
<project name="MyProj" basedir=".">
<property name="src" value="src"/>
<property name="build" value="build"/>
<property name="lib" value="lib"/>
<path id="master-classpath">
<fileset dir="${lib}">
<include name="activemq-all-5.1-SNAPSHOT.jar"/>
<include name="geronimo-jms_1.1_spec-1.1.1.jar"/>
<include name="activemq-core-5.3.0.jar"/>
</fileset>
</path>
<javac destdir="${build}">
<src path="${src}"/>
<classpath refid="master-classpath"/>
</javac>
</project>
Cette compile très bien, mais quand je tente de course je me
"java.lang.NoClassDefFoundError: javax/jms/Destination"
Ce programme fonctionne et compile très bien quand j'inclut les pots dans le Buildpath en utilisant Eclipse, cependant.
EDIT: J'ai donc copié les fichiers JAR dans le dossier contenant les classes compilées. La classe avec la méthode principale est NDriver.class. Lorsque je tente:
java -classpath ./geronimo-jms_1.1_spec-1.1.1.jar:./activemq-core-5.3.0.jar:./activemq-all-5.1-SNAPSHOT.jar NDriver
Cela donne:
Exception in thread "main" java.lang.NoClassDefFoundError: NDriver
Je vous remercie de toute aide.
Si vous utilisez Java 6 et si les fichiers jars sont tous dans le même répertoire, vous pouvez également utiliser un caractère générique. Quelque chose comme: java -cp ./* :. NDriver –