将类移动到单个目录[ant]

时间:2014-02-17 01:01:53

标签: ant

所以我需要为我的java项目创建一个自定义构建脚本,但我的java项目当前被分成了包。完成后我的ant脚本需要ftp并复制可执行jar文件并运行它。但是要知道我在创建可运行的jar时遇到了麻烦。

问题是我的ant脚本会根据我的包创建目录。

目录骨架:

class:
quadcopter->QuadCopter.class 
quadcopter->PID->pid_server.class
quadcopter->PID->pid_client.class

它编译得很好并且给了我所有的课程。但是当我运行我的蚂蚁来制作罐子时。

    <target name = "finish" depends="compile">
         <delete file = "${bone.jar}/quad.jar"/>
         <delete file = "MANIFEST.MF"/>
         <manifest file = "MANIFEST.MF">
              <attribute name = "Main-Class" value = "QuadCopter"/>
         <attribute name = "Class-Path" value = "."/>
         </manifest>
    <jar destfile = "${bone.jar}/quad.jar" basedir = "." includes = "${bone.class}/*.class" manifest = "MANIFEST.MF"/>
   </target>

ant脚本不会遍历所有目录并将所有类放在jar中。有没有办法将所有类文件放入一个目录,无论我有多少包?或者有没有办法浏览所有目录并添加类文件?

1 个答案:

答案 0 :(得分:2)

在jar标签内添加以下内容:

  <fileset dir="${classes.dir}">
     <include name="**/*.class"/>
  </fileset>

其中classes.dir是编译放置类的输出文件夹。这会将所有类写入jar各自的文件夹中。