java - 导出的 JAR 没有创建它应该创建的文件

标签 java swing netbeans jar ms-word

我使用 swing 在 Netbeans 中创建了一个 Java 应用程序,它完美地完成了很多事情,它还创建了一个文件夹,并在该文件夹内创建了一个 ms word 文件和 2 个 jpeg 图像。

如果我在 Netbeans 中运行该应用程序,它会按预期工作,创建文件夹和文件,没有任何问题。

但是当我将其导出为 jar 时,jar 运行正常,并且还创建了文件夹,但它不会创建 word 文档或图像文件。

我还尝试更改文件的路径,但它不会创建它们。

我已经检查了 Windows 属性中导出的 jar 的权限,它拥有所有这些权限。

我使用 apache poi 创建 word 文档,使用 jfree 图表创建图像,我使用 netbeans 中的菜单“clean and build”将其导出。

如果需要,我可以提供更多信息,感谢您的阅读。

最佳答案

感谢威尔·沙克尔福德

好吧,我打开了命令提示符并使用“java -jar MyJar.jar”命令运行 jar,我得到了抛出的异常,我可以看到问题,但它没有找到图像。

问题是我如何编码来获取资源,是这样的:

InputStream img = new FileInputStream("src/images/image.jpg");

但是调用资源的正确方法是:

InputStream img = InputStream.class.getResourceAsStream("/images/image.jpg");

我删除了“src”,因为 Jar 文件中不存在该文件夹,并且“/”用于引用 jar 的根目录。

关于java - 导出的 JAR 没有创建它应该创建的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33555925/

相关文章:

java - 为什么maven需要生成pom-transformed.xml?

java - JSpinner 文本颜色

C++:NetBeans 在创建 header 时生成的一些行代码

java - 有没有其他方法可以在 JPanel 上绘图?

java - JScrollPane 未正确更新

java - 多个按钮的单个 Action 监听器

java - 如何 "save"我的程序?

java - 在 Python 中构建阻塞的零长度队列的好方法

java - 重写字符串的部分内容

Java解析指数表示法中的数字