2011-11-09 92 views
1

我使用build.xml來構建我的src。但是它沒有生成沒有任何錯誤信息的類文件。完整的腳本是Ant構建不生成類文件

<?xml version="1.0"?> 

<project name="auxiliary" basedir="." default="dist"> 

<property name="src.dir" value="../auxiliary-src/com/nextbio/drugbank"/> 
<property name="dist.dir" value="dist"/> 
<property name="lib.dir" value="../jboss_config/common_app_jars"/> 
<property name="temp.dir" value="temp"/> 
<property name="foo_dist.dir" value="../foo/dist"/> 

<path id="libs-classpath"> 
    <fileset dir="${foo_dist.dir}"> 
      <include name="foo.jar"/> 
    </fileset> 

</path> 
<target name="dist" depends="auxiliary-dist" /> 


<target name="auxiliary-cleanup"> 
     <delete dir="${temp.dir}"/> 
     <delete dir="${dist.dir}"/> 
     <echo message="cleaned up. ${temp.dir}, and ${dist.dir} have been deleted."/> 
</target> 

<target name ="auxiliary-dist"> 

    <delete dir="${temp.dir}"/> 
    <echo message="delete ${temp.dir}" /> 
     <mkdir dir="${temp.dir}"/> 

    <javac destdir="${temp.dir}" source="1.6" target="1.6" debug="on" fork="true" memorymaximumsize="1024m"> 
     <src path="${src.dir}"/> 
     <classpath> 
      <path refid="libs-classpath"/>   
     </classpath> 
     <include name="com/car/**"/> <!-- troubled line --> 

    </javac> 
    <!--<copy overwrite="true" todir="${temp.dir}"> 
     <fileset dir="${src.dir}"> 
      <exclude name="**/*.java"/> 
      <exclude name="**/*.sql"/> 
      <exclude name="**/*.txt"/> 
     </fileset> 
    </copy> 
    <delete dir="${dist.dir}"/> 
    <mkdir dir="${dist.dir}"/> 
    <jar destfile="${dist.dir}/auxiliary.jar" basedir="${temp.dir}"/> --> 

</target> 

有一個在$ {} temp.dir無類文件這個步驟之後,並沒有錯誤消息。我仔細檢查了一下,發現是因爲「困難線」。我試圖將一些文件添加到類路徑中。我不知道爲什麼它是錯的。

+0

你試過在javac標籤上定義src路徑嗎? – r0ast3d

+0

你可以發佈螞蟻的輸出嗎?另外,你可以發佈完整的build.xml嗎?這將有助於解決這個問題。乾杯。 –

+3

使用ant -v運行它以獲得更多調試信息。也許temp.dir或src.dir沒有定義,或者不包含你認爲他們做的值。 –

回答

1

源路徑應該指向包樹的根。您將它指向源內的特定包:../auxiliary-src/com/nextbio/drugbank

然後在javac任務中,讓它編譯所有匹配模式com/car/**的文件。這意味着它將編譯../auxiliary-src/com/nextbio/drugbank/com/car或子目錄中的Java源文件。如果是這樣的話,你有非常傳統的軟件包名稱。

0

我有同樣的問題。

我的項目合作得很好,但那裏的課程並沒有出現,它沒有任何錯誤消息。

我的問題是類路徑。 eclipse嚮導添加了EclipseLink 2.5.1罐子。 我刪除了它,問題消失了。

我建議製作一個簡單的HelloWord並從類路徑中刪除所有罐子引用 ,然後重試。

0

我遇到了這個「ant,javac,compile」與classpath有關的問題。

顯示沒有調試或詳細消息。

出現此行爲是因爲在classpath中存在不兼容(高級)版本的jar包並且導致沒有輸出類。