我在「src」文件夾中有一堆.java文件,這些文件夾依賴於「lib」文件夾中的三個罐子。我有以下build.xml文件:如何在包含多個jar的類路徑中使用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>
編譯沒有問題,但是當我嘗試運行我得到
"java.lang.NoClassDefFoundError: javax/jms/Destination"
該程序運行和編譯很好,當我使用包括在BuildPath罐子Eclipse,但是。
編輯:所以我複製到具有編譯類的文件夾的罐子。主要方法的類是NDriver.class。當我嘗試:
java -classpath ./geronimo-jms_1.1_spec-1.1.1.jar:./activemq-core-5.3.0.jar:./activemq-all-5.1-SNAPSHOT.jar NDriver
這給:
Exception in thread "main" java.lang.NoClassDefFoundError: NDriver
我會很感激的任何幫助。
如果您使用的是Java 6,並且罐子都在同一個目錄中,那麼您也可以使用通配符。例如:java -cp ./* :. NDriver –