ant - 如何在classpath中包含.java文件

时间:2012-09-07 22:10:34

标签: java ant classpath build.xml

请先注意:我不需要包含.jar文件!

我想用ant包含来自另一个java项目的.java文件。但我不知道如何和谷歌也不知道。 我的build.xml看起来像这样:

<project>

    <!-- Main properties -->
    <property name="projectname"    value="rasco" />
    <property name="mainclass"      value="de.beyermatthias.rasco.Rasco" />
    <property name="lib.dir"        value="./lib/java-speech-api/src/" />

    <path id="classpath">
            <pathelement path="${lib.dir}"/>
    </path>

    <!-- Tasks -->
    <!-- Clean Task -->
    <target name="clean">
            <delete dir="build" />
    </target>

    <!-- Compile Task -->
    <target name="compile" depends="clean" >
            <mkdir dir="build/classes" />
            <javac srcdir="src" destdir="build/classes/">
            </javac>
    </target>

    <!-- Jar Task -->
    <target name="jar" depends="compile" >
            <mkdir dir="build/jar" />
            <jar destfile="build/jar/${projectname}.jar" basedir="build/classes/">
                    <manifest>
                            <attribute name="Main-Class" value="${mainclass}" />
                    </manifest>
            </jar>
    </target>

    <!-- Run Task -->
    <target name="run">
            <java jar="build/jar/${projectname}.jar" fork="true" />
    </target>
</project>

我的项目层次结构如下:

 .
 ├── build
 │   └── classes
 ├── build.xml
 ├── lib
 │   └── java-speech-api
 │       ├── CHANGELOG.markdown
 │       ├── CREDITS.markdown
 │       ├── java-speech-api.iml
 │       ├── README.markdown
 │       └── src
 │           ├── com
 │           │   └── darkprograms
 │           │       └── speech
 │           │           ├── microphone
 │           │           │   └── Microphone.java
 │           │           ├── recognizer
 │           │           │   ├── FlacEncoder.java
 │           │           │   ├── GoogleResponse.java
 │           │           │   └── Recognizer.java
 │           │           └── synthesiser
 │           │               └── Synthesiser.java
 │           └── META-INF
 │               └── MANIFEST.MF
 └── src
     └── de
         └── beyermatthias
             └── rasco
                 └── Rasco.java

大多数教程都讨论在类路径中包含.jar文件,但我需要包含.java文件,如您所见。我希望你能帮助我。

2 个答案:

答案 0 :(得分:3)

您可以包含已编译的.class文件的文件夹,但不包括.java源文件。

答案 1 :(得分:0)

您可以在javac中使用多个src元素。这看起来像是:

<javac destdir="some_dir" classpath="some_classpath" ... >
   <src path="some_source" />
   <src path="some_other_source"/>
 </javac>