2009-08-14 113 views
1

我是新来的使用ANT,并试图使用Eclipse 3.5在构建中包含第三方jar。我在编辑中不断发现“找不到符号”的错误,显然它没有考虑到这两个罐子。如果任何人都可以告诉我我要出错的地方,或者建议另一条路线,我将不胜感激。包含第三方Jars ANT

下面的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> 

回答

4

我总是在classpath元素中使用一个嵌套的fileset元素。您可以指定特定文件或使用通配符。它看起来应该是likethis:

​​

您还可以使用包括元素glob的,即

<include name="*.jar/> 

所以,你可以包括任何广口瓶。

+1

非常感谢。一个问题是,如果你注意到我的classpath标记不在javac标记中。一旦我将它移到那里,它就会编译。它也使用你的方法编译。 – Ken 2009-08-14 18:08:29

0

我认为这也适用。 “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> 
相关问题