【问题标题】:Apache Ant JAR Task: not finding propertiesApache Ant JAR 任务:找不到属性
【发布时间】:2010-11-17 01:49:48
【问题描述】:

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

我的 jar 无法正常工作,因为它找不到 log4j、Spring 等属性。

这些文件都包含在一个名为“server-config”的文件夹中,该文件夹与源代码位于同一级别,即:

  • 元信息
  • com
  • 服务器配置

基本上,我想知道我需要添加到 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>

我尝试了一些方法,但没有一个有效,由于找不到文件,我不断收到错误。

任何帮助将不胜感激!

【问题讨论】:

    标签: spring ant jar log4j manifest


    【解决方案1】:

    您可以删除整个 &lt;manifest... 部分 - 这不是 Class-Path 清单属性的作用。 It's for things external to the JAR.

    &lt;include name="server-config/*"/&gt;应该 工作 - 如果 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>
    

    【讨论】:

    • server-config 文件夹存在,因为它在当前任务所依赖的上一个任务期间被复制到 build.home。当我解压缩 jar 时,它就在那里,但是当我尝试运行它时,我得到了这个 snipt.org/lkt
    • 所以基本上当我解压 jar 包时,我会看到 com 文件夹(带有已编译的源代码)、META-INF 和 server-config。由于某种原因,它找不到任何东西......
    • 那是因为他们在类路径的底部寻找他们的配置文件,而不是在 server-config 目录下的一个目录...而不是将它们放在 server-config 中,尝试复制将 server-config 目录的内容直接放入 ${build.dir} 中,因此它们将进入 JAR 的基础。
    • 如果您这样做,在您发布的 JAR 任务中,您需要删除 并添加包含以在根目录中获取配置文件- 会得到所有东西 - 如果你想更有选择性的话。
    猜你喜欢
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多