2009-08-14 172 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> 
相關問題