2013-10-10 133 views
0

下面是Java项目的build.xml的简化版本。它正确完成“构建”(创建正确的.class文件)并打印出“完成构建”。但是,它不会打印出“开始瓶子”。我不了解什么?目标“罐子”取决于“构建”,所以它应该接下来运行。Ant build.xml运行不正常

运行目标版本。

<?xml version="1.0"?> 
<project name="Project" basedir="." default="release"> 

    <!-- directories --> 
    <property name="src.dir" location="src/main/java"/> 
    <property name="cls.dir" location="private/classes"/> 
    <property name="lib.dir" location="lib"/> 

    <property name="jar.name" value="${ant.project.name}-${jar.ver}.jar"/> 

    <target name="clean" description="Delete all generated files"> 
     <delete dir="${cls.dir}"/> 
     <delete dir="${lib.dir}"/> 
    </target> 

    <target name="build" depends="clean"> 
     <mkdir dir="${cls.dir}"/> 
     <javac 
      destdir="${cls.dir}" 
      nowarn="off" 
      fork="yes" 
      debug="on"> 
      <classpath> 
       <path path="${run.classpath}"/> 
      </classpath> 
      <src path="${src.dir}"/> 
     </javac> 
     <echo message="Finishing build"/> 
    </target> 

    <target name="jar" depends="build"> 
     <echo message="Starting jar"/> 
     <mkdir dir="${lib.dir}"/> 
     <jar destfile="${lib.dir}/${jar.name}"> 
      <fileset dir="${cls.dir}"/> 
      <fileset dir="${src.dir}" includes="**/*.properties"/> 
      <fileset dir="${src.dir}" includes="**/*.xml"/> 
     </jar> 
    </target> 

    <target name="release" depends="jar" description="Entry point"> 
    </target> 

</project> 
+1

运行目标时使用的命令是什么?你正在运行jar目标吗? –

+0

运行释放,jar部分不运行。如果我运行w/jar,那么jar也会运行。我想在发布版运行时运行jar。 – user1145925

+0

尝试使用“ant -v”运行详细输出并查看是否给出了线索​​。 – dnault

回答

0

更新发布目标如下,注意发布依赖于构建然后jar。即依赖=“build,jar” 即

<target name="release" depends="build,jar" description="Entry point"> 
     <echo message="release ..."/> 
    </target> 
+0

这完全没有区别。 – user1145925

+0

这有效。试过它跑了。你能澄清以下几点。什么版本的蚂蚁?你是在命令行还是在IDE中运行?你如何执行运行目标?最后你是否尝试过用ant -v来打印详细的输出结果?你可以发布输出进行审查吗?这些细节可能会更好地帮助诊断您的问题,但您的蚂蚁文件可以吗?这是一些其他问题。在运行之前,你可以单独运行clean并在运行任何其他目标之前验证旧版本是否被删除 – myqyl4