【发布时间】:2021-02-01 23:59:32
【问题描述】:
我刚刚完成了我的第一个正确的带有 GUI 的 java 程序,并在 netbeans 中设置了所有选项,以便项目创建一个 .jar 文件,该文件当前显示我的 Frame 并连接到数据库。 我遇到的问题是,当我运行程序时(我必须从终端运行它,因为单击 .jar 可能是问题的一部分?),我的图像都没有加载。 我尝试了以下方法;
- 进入项目库首选项,添加位于我的 P3Game 文件夹(项目的根目录)中的 /img 文件夹,但无济于事。
- 尝试直接将图像复制到生成的 /dist 文件夹,但由于它不是文件夹或库,因此我无法通过库首选项添加图像。
- 手动将 img 文件夹复制到 dist 中(编译后)并将文件路径设置为
dist/img/imgName.png并且它工作,但是,每当我构建/编译项目时,dist 中的 img 文件夹会被完全擦除(只是内容)
任何帮助将不胜感激。
EDIT1:这就是我将图像添加到程序中的方式,这适用于 netbeans,但不适用于在其他地方运行程序。
public void setGrassIcon() throws IOException {
this.grassIcon = new ImageIcon(ImageIO.read(new File("img/Grass.png")));
}
【问题讨论】:
-
你在这个项目中使用的是什么构建系统?马文?摇篮?蚂蚁?还有什么?
-
我正在使用一个 ANT 项目
-
听起来你想要的是一个包含所有依赖项的 jar。只需谷歌搜索“胖罐”。如果我无论如何都要开始一个新项目,我更喜欢 gradle 而不是 ANT。但无论如何,这也可以通过 ANT 实现。例如。这里:stackoverflow.com/questions/1821803/…
-
将我的所有代码复制到 maven/Gradle 项目中是否更容易?我也将 derby 用作嵌入式数据库。我想问题是,将代码复制到 Gradle 项目是否可以解决我的执行问题以及图像(以及如何解决?)并且它是否仍然支持 DerbyDB?