导出的JAR不会创建它应该的文件

时间:2015-11-05 22:22:39

标签: java swing netbeans jar ms-word

我使用swing在Netbeans中创建了一个Java应用程序,它完美地完成了许多工作,它还创建了一个文件夹,在该文件夹中创建了一个ms文件文件和2个图像jpeg。

如果我在Netbeans中运行该应用程序,它可以正常工作,创建文件夹和文件,没有任何问题。

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

感谢WillShackleford

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

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

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

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

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

我删除了' src'因为该文件夹不存在于Jar文件中,并且' /'用于指代jar的根。