添加非代码资源的使用Ant jar文件添加非代码资源的使用Ant jar文件(adding non-

2019-05-12 04:20发布

我在我的包装的Java应用程序到一个jar文件的过程。 我使用蚂蚁和Eclipse。 我需要实际包含在罐子几个直属的根文件夹单独的,非代码文件(XML和TXT文件),而不是在同一个地方的代码。

我试图用includesfile,但似乎并没有工作,这是我的Ant目标:

<target name="distribute" depends="compile" includesfile="readthis.txt">
    <jar destfile="${distributionDir}/myjar.jar" >
        <fileset dir="${outputDir}"/>
    <fileset dir="${sourceDir}"/>           
    </jar>
</target>

当我省略includesfile论证上述工作正常。 另外,我需要添加多个非代码文件。 这些文件直接设在Eclipse中的根项目文件夹下,并且不在任何Java包。

而且,正如你可以在上面看到,我基本上包括罐子我的源代码。 有没有办法告诉jar任务把源代码在一个单独的文件夹,从编译的代码?

作为一个编译或建立任务时,Ant容易可以从编译的类分离的源代码。 但是,有没有办法做到这一点在JAR文件中呢?

非常感谢您的时间!

Answer 1:

你不应该有一个includesfile目标属性开始,我怀疑你无论如何误解的地步-这个想法是,你指定的文件includesfile包含哪些文件包括,如果你不”模式不想把他们变成你的Ant文件。

这让我感到你需要的是包含你所需要的相应的文件的额外文件集。 例如,对于readthis.txt

<target name="distribute" depends="compile">
  <jar destfile="${distributionDir}/myjar.jar" >
    <fileset dir="${outputDir}"/>
    <fileset dir="${sourceDir}"/>
    <fileset file="readthis.txt" />
  </jar>
</target>

我也建议你创建的资源一个新的目录,所以你可以这样做:

<target name="distribute" depends="compile">
  <jar destfile="${distributionDir}/myjar.jar" >
    <fileset dir="${outputDir}"/>
    <fileset dir="${sourceDir}"/>
    <fileset dir="${resourcesDir}" />
  </jar>
</target>

没有麻烦。 这也将让您的目录结构更清洁,更容易找到从顶部向下的事情。



文章来源: adding non-code resources to jar file using Ant
标签: java ant jar