代码之家  ›  专栏  ›  技术社区  ›  Paul Fisher

让ant<javac>识别类路径

  •  42
  • Paul Fisher  · 技术社区  · 17 年前

    我有一个ApacheAnt构建文件, <javac> 需要在构建中使用四个特定JAR的命令 classpath . 我试过这样做:

    <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>
    

    _但没有指定的文件 TSA.classpath 似乎出现了。如何在类路径中包含这些文件?

    3 回复  |  直到 17 年前
        1
  •  69
  •   William Brendel    17 年前

    下面是我目前正在进行的一个项目的一个例子。我怀疑你可以修改它以适应你的情况。

    <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
  •  14
  •   Joachim Sauer    17 年前

    尝试

    <javac ... classpathref="TSA.classpath">
    

    或

    <javac ...>
        ...
        <classpath refid="TSA.classpath" />
    </javac>
    
        3
  •  14
  •   TofuBeer    17 年前

    试试这个:

     <classpath refid="TSA.classpath"/>
    
    推荐文章