Netbeans创建包含所有图像等的dist jar

Netbeans创建包含所有图像等的dist jar,netbeans,compilation,Netbeans,Compilation,我正在尝试分发一个netbeans项目,但是它创建的jar和dist文件夹的内容取决于我包含在项目中的一些图像文件-但是这些图像不在dist文件夹中,我无法确定如何使事情正常工作,因此我可以以可分发格式导出项目,包括所有它需要的东西 有人能告诉我如何导出在Netbeans中运行的项目,而不使用项目的/dist文件夹,该文件夹包含项目所需的所有内容 干杯 Andy实现这一点的一种方法是在项目的src dir中添加一个文件夹(f.i.“resources”)。然后将图像复制到该目录。现在,在构建项目

我正在尝试分发一个netbeans项目,但是它创建的jar和dist文件夹的内容取决于我包含在项目中的一些图像文件-但是这些图像不在dist文件夹中,我无法确定如何使事情正常工作,因此我可以以可分发格式导出项目,包括所有它需要的东西

有人能告诉我如何导出在Netbeans中运行的项目,而不使用项目的/dist文件夹,该文件夹包含项目所需的所有内容

干杯


Andy实现这一点的一种方法是在项目的src dir中添加一个文件夹(f.i.“resources”)。然后将图像复制到该目录。现在,在构建项目时应该包括这些图像(如果我没记错的话)。访问文件可以通过“getResourceAsStream”

如果您感兴趣的任何资源都在类路径中,打包在jar、war或发行版中,那么您可以通过获取资源来检索它们

实际上,约定是有一个名为“src/resources”的目录作为此目录的根目录。根据所使用资源的数量和范围,您可能还希望添加子目录层次结构,以保持资源的组织和状态可管理

而且,资源不能是任何文件、图像、声音、文本、xml、二进制等。没有限制

最后,如果您使用的是对象方法,调用将如下所示: getClass().getResourceAsStream(“资源/myResource”)-或-getClass().getResource(“资源/myResource”) 取决于您是想要一个流还是只想要代码中该点的URI。通常,当您在线处理资源时,可以使用URI将资源的处理委托给其他地方和流表单

对于类方法,您需要执行以下操作:

新对象().getClass()


这里要记住的一点是,这最终将解析为类加载器,并且将从该类路径获取资源。

您可以使用相同的方式添加图像:

final Image image0 = Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/1.png"));

好的,所以尝试了这个,当从netbeans运行时,这段代码工作正常:[code]URL imgOn=cldr.getResource(“resources\\on.png”);URL imgOff=cldr.getResource(“resources\\off.png”);图像图标打开;图像图标关闭;public void run(){System.out.println(“URL:+imgOn”);on=new-ImageIcon(imgOn);off=new-ImageIcon(imgOff);…[/code]当在dist中从jar运行时,返回URL:null…..尝试解压缩jar,并检查jar中是否包含实际上的资源文件。