Ant构建不会生成类文件

时间:2011-11-09 18:39:12

标签: java ant

我正在使用build.xml来构建我的src。但是,它没有生成类文件而没有任何错误消息。完整的脚本是

<?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}中没有类文件,并且没有错误消息。我仔细检查了一下,发现这是因为“困扰线”。我试图将一些文件添加到类路径中。我不知道为什么这是错的。

3 个答案:

答案 0 :(得分:1)

源路径应指向包树的根。您可以指向源代码中的特定包:../auxiliary-src/com/nextbio/drugbank

在javac任务中,您要求它编译与模式com/car/**匹配的所有文件。这意味着它将在../auxiliary-src/com/nextbio/drugbank/com/car或子目录中编译Java源文件。如果是这种情况,那么你会有非常规的包名。

答案 1 :(得分:0)

我遇到了同样的问题。

我的项目很顺利,但那里的课程并没有任何地方,也没有任何错误信息。

我的问题是类路径。 eclipse向导添加了EclipseLink 2.5.1 jar。 我删除了它,问题就消失了。

我建议制作一个简单的HelloWord并删除所有的jar 从类路径引用并再试一次。

答案 2 :(得分:0)

我遇到了与类路径相关的“ant,javac,compile”问题。

未显示调试或详细消息。

出现此行为是因为在classpath中存在不兼容(高级)版本的jar包,并且不会导致输出类。