【问题标题】:How to include a resource file in the Jar file generated by Netbeans?如何在 Netbeans 生成的 Jar 文件中包含资源文件?
【发布时间】:2011-01-22 02:01:49
【问题描述】:

我正在使用 NB6.7 为我的项目自动生成可执行 jar 文件,如何以及在何处告诉 NB 将某个资源包含到结果 jar 文件中?我知道如果我将资源放在“lib”目录中,NB 会将其放入“dist/lib/”,但我想要的是将资源 in 包含在最终的可执行 jar 中,其中请注意我要指定吗?

弗兰克

【问题讨论】:

    标签: netbeans jar include resources


    【解决方案1】:

    有一种方法可以将任意文件/文件夹添加到 jar 中的任意位置,而无需设置源文件夹。

    默认情况下,NetBeans 将在项目根目录创建 build.xml。 我们可以覆盖-pre-jar 目标来复制文件和-post-jar 目标来清理。

    例如,要将“res/resource.ext”复制到 jar 中的“myres/resource.ext”中,请将这些目标添加到build.xml

    <target name="-pre-jar">
       <!-- Single file -->
       <copy file="res/resoure.ext" todir="${build.dir}/classes/myres" />
       <!-- Folder(s) -->
       <copy todir="${build.dir}/classes/myres"><fileset dir="res"/></copy>
    </target>
    
    <target name="-post-jar">
       <delete dir="${build.dir}/classes/myres/resource.ext" />
       <delete dir="${build.dir}/classes/myres"/>
    </target>
    

    因为这是 Ant,所以你有很好的控制权。 您可以rename 文件、replace 文件内容(例如update 版本或时间戳)、convert 字符集,或运行other operations,这在简单的包含中是不可能的。

    我使用的是 NetBeans 版本 8,但只要项目兼容,它就可以工作。


    或者,使用MavenGradle 等自动化项目,让您可以更好地控制构建过程,但代价是自动单文件重新编译等IDE 功能。

    【讨论】:

      【解决方案2】:

      我明白了:将资源文件放在 src 目录中。

      【讨论】:

        【解决方案3】:

        你可以通过......
        转到通常位于屏幕左侧的项目名称。

        无论您的项目名称是什么, 您必须右键单击它,然后转到它的属性。 [通常在菜单项的末尾]

        然后将打开一个窗口,进入图书馆。

        在那里你会发现
        1)添加项目
        2)添加库
        3)添加JAR文件

        然后包含 jar/Libraries/ 文件夹。

        这样它就会自动添加到您的项目中。 它将自动包含在 lib 文件夹中,因此您不必总是包含。

        希望对你有帮助,

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-25
          • 2012-10-14
          • 2015-07-26
          • 1970-01-01
          • 2015-06-12
          • 1970-01-01
          • 2014-08-26
          • 2014-10-08
          相关资源
          最近更新 更多