「lib」フォルダー内の3つのjarファイルに依存する「src」フォルダー内に多数の.javaファイルがあります。次のbuild.xmlファイルがあります。
<?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"
ただし、Eclipseを使用してビルドパスにjarを含めると、このプログラムは正常に実行およびコンパイルされます。
編集:それで、私はjarファイルをコンパイルされたクラスがあるフォルダーにコピーしました。mainメソッドを持つクラスは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
これは与える:
スレッド「メイン」の例外java.lang.NoClassDefFoundError:NDriver
助けていただければ幸いです。