我用NetBeans中的GUI做了一个项目。GUI有一个名为GIFL2的标签,当按下按钮时,它会通过
GIFL2.setText("");
GIFL2.setIcon(new ImageIcon("src/torrehanoirecursion/" + path));
问题是,当我构建项目并打开jar文件时,图像不会加载。我最初认为这是因为图像在img文件夹中,而img文件夹又在SRC中。因此,文件夹的相对路径是src/torrehanoirecursion/img
但是,我将所有的映像移到src本身,没有文件夹,因为我读到java可能会因为它们不是src的一部分而将它们排除在外,但它仍然不起作用。没有错误或任何东西,它只是不将它们加载到jar中。
我去了项目>属性>打包。选中“复制相关库”,选中“编译时构建jar”,不选中“压缩jar”,“从jar中排除”完全为空。
你知道可能会发生什么吗?
如果使用Maven,应该将目标jar中希望包含的所有资源放在项目的src/main/resources
目录下:
pom.xml
src/main/java
src/main/java/resources
src/main/java/resources/img1
您还可以在不同的目录下包含文件,例如src/other-resources
。在pom.xml的这种情况下,您应该在build部分下设置这些路径,如下所示:
<build>
<resources>
<resource>
<directory>src/other-resources</directory>
</resource>
</resources>
</build>
有关详细信息,请参阅Maven resources插件文档:https://Maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html
正如您所指定的,您的项目不是用Maven管理的,我报告了允许您用NetBeans解决的步骤。
resources
目录sources
on categories部分资源
文件夹然后,目标jar应该包含类路径上resources
目录下的所有文件。
更新:在目标jar上手动注入资源
最后,您还可以在构建后使用以下命令将整个src/main/java/resources
目录手动注入到目标jar中(您至少应该使用bash脚本或Netbeans上的特定任务来自动化此操作):
cd src/main/java/
jar uf project.jar resources
我有一个java源文件位于src/com/form/myClass 我在同一个文件夹中还有一个javascript文件。 我的项目读取js文件的内容,并在测试中成功完成,即在IDE中运行文件。 但是当我构建并运行我的jar时,好像javascript不再包含在内,我必须特别包含非java文件吗?文件的位置在构建时会移动还是变得相对。 唯一排除的选项是“***.java,***.form” 我正在运
我正在尝试创建一个Jar用作Maven存储库 我已经构建了所有内容,所有类都准备好了。唯一的问题是gradlew./build包含了测试文件夹中的类和资源。我不希望这些作为jar的一部分,尤其是正在测试的资源文件。 因此,我的问题是,如何从jar构建任务中排除这些文件。我试过了 在我的身体里。格拉德尔:但那没用 我是Gradle和Maven的新手,所以任何洞察力都会有帮助。谢谢! 参考材料 bui
HTSJDK是一个用于访问常见文件格式(如SAM和VCF)的库。我想构建HTSJDK JAR。在文档页面中说我必须为此使用Ant。所以我安装了Ant并运行以下命令: ant htsjdk-jar [javac]用法:javac [javac]use-help获取可能选项列表 生成失败 build.xml文件有问题。这里是文件的开头: 拜托,有人能告诉我该怎么做才能解决这个问题吗?
我正试图在netbeans中构建java derby项目的jar文件,但是我面临着这个错误。 Ant-f c:\users\kamal\documents\netbeansprojects\javaapplication3-dnb.internal.action.name=rebuild clean jar init:deps-clean:更新属性文件:c:\users\kamal\documen
我正在开发一个带有多个docker容器的微服务。使用docker-compose可以创建我想要的图像,但也可以创建其他几个图像副本,这些副本会填满我的磁盘空间。这其他子图像有什么用,我可以阻止他们被创建,因为他们正在消耗我的内存。请注意,它们并不是真正的“悬空”,它们只是出现在构建中。
由于Flutter web还不支持lib,并且有大量的包依赖于。