我的问题是:我如何通过ant将文件放入我的jar中的子目录?现在我的代码是:
<jar destfile="${dist.dir}\wo42.jar" basedir="bin">
<manifest>
<attribute name="Main-Class" value="org.alternativedev.wo42.App" />
<attribute name="Class-Path" value="lib" />
</manifest>
<zipgroupfileset dir="lib/." excludes="natives/*" />
<fileset dir="data/." includes="." />
它创建了一个像
这样的结构ROOT-Jar
-org
--bla
-filefromdata1
-filefromdata2
但它应该是
ROOT-Jar
-org
--bla
-data
--filefromdata1
--filefromdata2
你知道我的意思吗?
问候,BigTeddy
答案 0 :(得分:15)
将最后一行更改为
<fileset dir="." includes="data/**" />
无需复制文件。
另一种方法(如果你想让档案中的目录有不同的名字,这很有用)
<zipfileset dir="data" includes="." prefix="folder-name-in-jar"/>
答案 1 :(得分:2)
首先,您创建所需的文件结构并将所有文件复制到其中。然后在生成的根目录上运行jar命令。
要复制文件,您可以使用ANT copy task 例如:
<copy todir="../dest/dir">
<fileset dir="." includes="data/**/*.java">
</fileset>
更多关于如何打包jar(基础知识)here