我应该如何指定ant清单中所有属性文件的位置?
我的jar无法正常工作,因为它无法找到log4j,Spring等属性。
这些文件都包含在名为“server-config”的文件夹中,该文件夹与源代码位于同一级别,即:
基本上,我想知道我需要添加到Class-Path属性中,以便jar知道server-config文件夹中的所有这些属性文件。
这是我目前的任务:
<jar destfile="${root.home}/onejar/build/main/main.jar" basedir="${build.home}">
<manifest>
<attribute name="Class-Path" value=".;server-config" />
</manifest>
<include name="com/mycompany/client/*"/>
<include name="com/mycompany/portable/util/*"/>
<include name="com/mycompany/request/*"/>
<include name="com/mycompany/model/*"/>
<include name="com/mycompany/controller/*"/>
<include name="com/mycompany/helpers/*"/>
<include name="server-config/*"/>
</jar>
我已经尝试过一些东西,但没有一个正在工作,由于找不到文件,我一直在收到错误。
非常感谢任何帮助!
答案 0 :(得分:2)
您可以删除整个<manifest...
部分 - 这不是Class-Path清单属性的作用。 It's for things external to the JAR.
如果server-config目录存在于$ {build.home}目录中,那么行<include name="server-config/*"/>
应工作。您可能需要在其中复制它们的任务 - 您提到源代码位于同一级别,但您没有提到它们编译为的位置。
一个例子 -
<mkdir dir="${build.dir}/server-config"
<copy todir="${build.dir}/server-config">
<fileset dir="${src.dir}/server-config">
<include name="*"/>
</fileset>
</copy>