【问题标题】:Include Third Party Jars ANT包括第三方罐子 ANT
【发布时间】:2015-09-19 04:38:52
【问题描述】:

我是使用 ANT 的新手,我正在尝试使用 Eclipse 3.5 在构建中包含第三方 jar。我在编译中不断收到“找不到符号”错误,所以显然它没有考虑这两个罐子。如果有人能告诉我哪里出错了,或者建议另一条路线,我将不胜感激。

下面的 JarPath 是我在 Eclipse 工作区中的项目的路径。它在路径中尝试了“/”和“\”,但都不重要。

<?xml version="1.0" ?>
<project default="main">
    <property name="env.JAVA_HOME" location="C:\Program Files\Java\jdk\bin\javac.exe"/>
    <property name="jars.dir" location="JarPath"/>

    <target name="main" depends="compile, compress" description="Main target">
        <echo>
            Building the .jar file.
        </echo>
    </target>

    <target name="compile" description="Compilation target">
        <javac srcdir="." fork="yes" executable="${env.JAVA_HOME}"/>
        <classpath>        
            <pathelement location="${jars.dir}/A.jar"/>        
            <pathelement location="${jars.dir}/B.jar"/>    
        </classpath>
    </target>

  <target name="compress" description="Compression target">
        <jar jarfile="MyJar.jar" basedir="." includes="*.class" />
  </target>
</project>

【问题讨论】:

    标签: eclipse ant jar


    【解决方案1】:

    我总是在类路径元素中使用嵌套的文件集元素。您可以指定特定文件或使用通配符。它应该看起来像这样:

    <classpath id="classpath" description="The default classpath.">
      <pathelement path="${classpath}"/>
      <fileset dir="lib">
        <include name="jaxp.jar"/>
        <include name="crimson.jar"/>
        <include name="ojdbc14.jar"/>
      </fileset>
    </classpath>
    

    也可以使用include元素来glob,即

    <include name="*.jar/>
    

    所以你可以包含任何罐子。

    【讨论】:

    • 非常感谢。一个问题是,如果您注意到我的类路径标记不在 javac 标记内。一旦我将它移到那里,它就可以编译了。它也使用你的方法编译。
    【解决方案2】:

    我认为这也有效。 “classpath”应该放入“javac”

    <target name="compile" description="Compilation target">
        <javac srcdir="." fork="yes" executable="${env.JAVA_HOME}">
            <classpath>        
                <path location="${jars.dir}/A.jar"/>        
                <path location="${jars.dir}/B.jar"/>    
            </classpath>
        </javac>
    </target>
    

    【讨论】:

      猜你喜欢
      • 2012-06-04
      • 2012-06-06
      • 2016-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多