如何在Netbeans生成的Jar文件中包含资源文件?

时间:2010-02-28 19:54:57

标签: netbeans jar include resources

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

3 个答案:

答案 0 :(得分:4)

有一种方法可以将任意文件/文件夹添加到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功能,例如自动单文件重新编译。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

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

在那你会发现
1)添加项目
2)添加图书馆
3)添加JAR文件

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

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

希望这对你有帮助,