所以我需要为我的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中。有没有办法将所有类文件放入一个目录,无论我有多少包?或者有没有办法浏览所有目录并添加类文件?
答案 0 :(得分:2)
在jar标签内添加以下内容:
<fileset dir="${classes.dir}">
<include name="**/*.class"/>
</fileset>
其中classes.dir是编译放置类的输出文件夹。这会将所有类写入jar各自的文件夹中。