【问题标题】:Netbeans - adding resource files to jar file with AntNetbeans - 使用 Ant 将资源文件添加到 jar 文件
【发布时间】:2011-04-26 16:47:13
【问题描述】:

我想在使用 Netbeans 6.9 的 Java 项目的 jar 文件中添加一些资源文件(非代码文本文件),我希望使用 Ant。我原以为这会相当简单......但经过相当多的搜索后,我找不到如何去做......!有正确方向的指针吗?

【问题讨论】:

    标签: java netbeans ant resources jar


    【解决方案1】:

    我想我正在寻找的答案如下:

    在 build.xml 文件中(根据垃圾神的回答),您可以使用 ant 构建脚本中已有的钩子添加以下内容:

    <target name="-post-jar">
        <echo>Adding files to jar...</echo>
        <jar destfile="dist/jarFileName.jar" update="true">
            <fileset dir="${basedir}">
                <include name="files/*"/>
            </fileset>
        </jar>
    </target>
    

    这会将文件目录及其下的所有文件直接添加到 jar 文件中。

    【讨论】:

      【解决方案2】:

      如果您选择File &gt; Project Properties &gt; Build &gt; Packaging,您将看到一个对话框,可让您从构建中排除工件;其他一切都是源代码树包括在内。 TreeIconDemo 的来源是一个具体的例子,其中包含 html 文件。

      对于更高级的任务,检查为新创建的项目生成的默认build.xml;它识别预定义任务的各种挂钩。例如,

      存在几个默认为空的目标,它们可以是 用于执行您的任务。这些目标通常被执行 在一些主要目标之前和之后。他们是: -pre-init:在项目属性初始化之前调用 -post-init:在项目属性初始化后调用 -pre-compile:在javac编译之前调用 -post-compile:javac编译后调用 -pre-compile-single:在javac编译单个文件之前调用 -post-compile-single:javac编译单个文件后调用 -pre-compile-test:在 javac 编译 JUnit 测试之前调用 -post-compile-test:在JUnit测试的javac编译后调用 -pre-compile-test-single:在javac编译单个JUnit测试之前调用 -post-compile-test-single:javac编译单个JUunit测试后调用 -pre-jar:在构建 JAR 之前调用 -post-jar:在 JAR 构建之后调用 -post-clean:在清理构建产品后调用

      附录:作为example,此目标覆盖-post-compile 以打印一些统计信息。

      <project name="TreeIconDemo" default="default" basedir=".">
          <import file="nbproject/build-impl.xml"/>
          <target name="-post-compile">
              <echo>build.dir: ${build.dir}</echo>
              <length mode="all" property="build.size">
                  <fileset dir="${build.dir}">
                    <include name="**/*"/>
                  </fileset>
              </length>
              <echo>build.size: ${build.size}</echo>
          </target>
      </project>
      

      输出:

      $蚂蚁编译 构建文件:build.xml ... -编译后: [回声] build.dir:构建 [回声] build.size: 11992 编译: 构建成功

      【讨论】:

      • 谢谢垃圾神。我已经看到了构建过程中的钩子......但我不确定如何使用它们,并且对不同的网站和博客等感到困惑!您能否提供一个示例,说明如何使用合适的挂钩将文件 data.txt 包含在同一位置的 jar 文件根目录下的 fileDir 目录中?
      • @Alistair Collins:我已经在上面详细说明了。
      猜你喜欢
      • 2010-11-16
      • 2011-10-26
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 2014-09-03
      • 1970-01-01
      相关资源
      最近更新 更多