问题
I have an Apache Ant build file with a <javac>
command that requires four specific JARs to be on the build classpath
. I've tried to do this:
<project basedir=".." default="build_to_jar" name="Transnet Spectrum Analyzer">
<property environment="env"/>
<property name="src" value="src"/>
<property name="libsrc" value="library_sources" />
<property name="build" value="build"/>
<property name="dist" value="dist"/>
<property name="target" value="1.5"/>
<property name="libraries" value="./libraries"/>
<fileset dir="." id="TSA.classpath">
<include name="${libraries}/rxtx/RXTXcomm.jar" />
<include name="${libraries}/commons-logging-1.1.1.jar" />
<include name="${libsrc}/JCommon/jcommon-1.0.15.jar" />
<include name="${libsrc}/JFreeChart/jfreechart-1.0.12.jar" />
</fileset>
<target name="compile" depends="clean,init" description="compile the source " >
<echo>Compile from ${src} to ${build}</echo>
<javac destdir="${build}" source="${target}" target="${target}">
<compilerarg value="-Xlint:unchecked"/>
<src path="${src}"/>
<classpath path="TSA.classpath" />
</javac>
</target>
<!-- blah blah blah -->
</project>
…but none of the files specified in TSA.classpath
appear to show up. How do I include these files in my classpath?
回答1:
Here's an example from a project I am currently working on. I suspect you can modify it to work for your situation.
<path id="master-classpath">
<fileset dir="${web.dir}/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${appserver.lib}">
<include name="servlet*.jar"/>
</fileset>
<pathelement path="${build.dir}"/>
</path>
...
<javac destdir="${build.dir}">
<src path="${src.dir}"/>
<classpath refid="master-classpath"/>
</javac>
回答2:
Try
<javac ... classpathref="TSA.classpath">
or
<javac ...>
...
<classpath refid="TSA.classpath" />
</javac>
回答3:
Try this:
<classpath refid="TSA.classpath"/>
来源:https://stackoverflow.com/questions/722774/getting-ant-javac-to-recognise-a-classpath