我正在使用以下目标创建一个jar文件 -
<target name="jar" depends="compile">
<jar destfile="${jar.dir}/TargetClass.jar"
basedir="${build.dir}">
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>
</target>
我尝试使用以下目标执行jar文件 -
<target name="runjar">
<java jar="${jar.dir}/TargetClass.jar" fork="true"/>
</target>
我在我的TragetClass中使用了apache poi jar,它位于D:/ Jar目录下。执行它时无法找到poi jar并显示java.lang.NoClassDefFoundError异常。
答案 0 :(得分:0)
您需要使用classpath
。类似的东西:
<property name="poi.jars" value="path to poi jars"/>
<path id="run.classpath">
<pathelement location="${poi.jars}"/>
</path>
<target name="runjar">
<java
jar="${jar.dir}/TargetClass.jar"
fork="true"
<classpath refid="run.classpath"/>
/>
</target>
有关详细信息,请参阅Ant Java Task。