当我在Eclipse中编译和运行我的程序时,运行没有异常。但是,当我将它导出到可运行jar或普通jar时,它找不到我的设置文件。.jar中的NoSuchFileException但不是在Eclipse中
我的路径是:
String path= "src/settings/settings.ini";
在Eclipse运行没有异常,但在一个罐子里,它会立即抛出异常。
如何才能使jar正常工作,因为它在eclipse中?
当我在Eclipse中编译和运行我的程序时,运行没有异常。但是,当我将它导出到可运行jar或普通jar时,它找不到我的设置文件。.jar中的NoSuchFileException但不是在Eclipse中
我的路径是:
String path= "src/settings/settings.ini";
在Eclipse运行没有异常,但在一个罐子里,它会立即抛出异常。
如何才能使jar正常工作,因为它在eclipse中?
,而里面的jar文件是没有更多的物理文件,所以你可能需要阅读它作为流
getClassLoader().getResourceAsStream("settings/settings.ini");
考虑的Settings.ini是在classpath中(运行时)在指定的路径
我发现一个URL的getResource(String)对于访问一个[嵌入资源]不仅更加可靠((InputStream)返回通常不可重定位),但键入时间也较短。 ;) –
谢谢!完美的作品! –
欢迎您:) –
如果ini文件位于jar归档,读这样的:
inputstream = getClass()
.getClassLoader()
.getResourceAsStream("settings/settings.ini");
否则,如果它位于你的JAR档案之外,您应该移动或复制您的ini文件中./settings/settings.ini(相对于您的应用程序的当前工作目录)。
检查这个问题:http://stackoverflow.com/questions/12090882/trouble-turning-java-project-into-jar-file – phsym
*“它引发异常”*什么例外?请始终复制/粘贴异常输出(堆栈跟踪)。 –