代码之家  ›  专栏  ›  技术社区  ›  mike

ApacheAntJAR任务:找不到属性

  •  1
  • mike  · 技术社区  · 15 年前

    我应该如何准确地指定Ant清单中所有属性文件的位置?

    我的jar不工作,因为它找不到log4j、spring等属性。

    这些文件都包含在一个名为“服务器配置”的文件夹中,该文件夹与源代码位于同一级别,即:

    • 美联社
    • 通用域名格式
    • 服务器配置

    本质上,我想知道我需要在类路径属性中添加什么,以便让JAR知道服务器配置文件夹中的所有这些属性文件。

    这是我当前的任务:

    <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>
    

    我试过一些东西,但都没有用,因为找不到文件,我不断地出错。

    任何帮助都将不胜感激!

    1 回复  |  直到 15 年前
        1
  •  2
  •   Nate    15 年前

    您可以删除整个 <manifest... 部分-这不是类路径清单属性所做的。 It's for things external to the JAR.

    线 <include name="server-config/*"/> 应该 工作-如果服务器配置目录存在于您的$build.home目录中。你可能需要一个任务来复制它们-你提到 源代码 坐在同一个水平面上,但你没有提到他们在哪里 编译到 .

    一个例子

    <mkdir dir="${build.dir}/server-config"
    <copy todir="${build.dir}/server-config">
      <fileset dir="${src.dir}/server-config">
        <include name="*"/>
      </fileset>
    </copy>