将文件打包到特定目录中的jar中

时间:2013-05-16 16:42:28

标签: java ant jar

请原谅我问一个简单的问题。我是ant的新手,我正在尝试构建一个jar文件。我有一个文件

  

jaxb.in​​dex

在包结构中

  

COM / MYCOM /毫克/适配器

我正在尝试使用

将此文件打包到我的jar中
<target name="dist" description="Create distributable jar file">
   <jar destfile="${common.lib.dir}/${dist.file}">
      <fileset dir="${build.classes.dir}"/>
      <zipfileset  
            file="${sms.syn.dir}/jaxb.index">
      </zipfileset>
  </jar>
</target>

我想将jaxb.in​​dex文件放在同一个包com / mycom / mg / adapter中,但是当我使用上面的代码时,ant会将它添加到jar的根目录中。任何人都可以帮助我吗?

修改 使用

<zipfileset  
            file="${sms.syn.dir}/jaxb.index" fullpath="com/mycom/mg/adapter">
</zipfileset>

也没有帮助。

2 个答案:

答案 0 :(得分:2)

您似乎应该使用属性prefix而不是fullpath

<zipfileset  
            file="${sms.syn.dir}/jaxb.index" prefix="com/mycom/mg/adapter">
</zipfileset>

我认为fullpath也应该有用,但你应该指定真正的完整路径,即带有文件名的路径:fullpath="com/mycom/mg/adapter/jaxb.index"

答案 1 :(得分:1)

您可能必须像这样使用

<zipfileset dir="${sms.syn.dir}" includes="jaxb.index" fullpath="com/mycom/mg/adapter"/>