java获取错误文件<init>在Ubuntu终端中运行可执行jar时
标题说明一切
我必须在终端上运行我的java应用程序项目
所以我在Eclipse中制作了可执行jar
我已经尝试了所有三个选项
但我的错误并没有消失
这个程序在eclipse中运行得很好,但当我以可执行jar格式运行时,它会出错
邮件附在下面
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.NullPointerException
at java.io.File.<init>(File.java:251)
at com.zinnaworks.iis.DBFileLoader.loadDBFile(DBFileLoader.java:17)
at com.zinnaworks.iis.Main.main(Main.java:23)
... 5 more
我想我应该把重点放在文件上
如果你有任何解决方案或很好的参考资料,请分享
:D谢谢
=====================收到一些反馈后================================= 谢谢
也许这部分可以作为线索
我的命令行是
java -jar IISDB_C.jar
结果:
java.io.FileNotFoundException: file:/home/juneyoungoh/IISDB_C.jar!/com/zinnaworks/iis/conf/iis.properties (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:97)
at com.zinnaworks.iis.conf.PropertyLoader.loadProp(PropertyLoader.java:14)
at com.zinnaworks.iis.Main.main(Main.java:21)
这些都是事实。 1.我在eclipse中制作了一个可执行jar。 2.非法入境者。属性文件就在那个路径中(IISDB_C.jar!/com/zinnaworks/iis/conf/iis.properties),但我不知道那是什么方法 3.每个其他文件都会出现相同的错误,因为它们都是由属性文件中定义的字符串初始化的
附言 我不知道如何使用-Dmp选项。所有路径都是在相对路径中设计的,并包含在jar文件中
# 1 楼答案
我用InputStream对象解决了这个问题。 坦率地说,我不知道为什么我们必须使用这个,但要成功地正常工作。 这是我编辑的代码
不管怎样,多亏了@morgano。 没有他的建议,我找不到哪个部分有问题:D