标题说明了一切。
我必须在终端中运行我的 java 应用程序项目。
所以我在 Eclipse 中制作了可执行的 jar。
我已经尝试了所有三个选项。
但我的错误并没有消失。
该程序在 Eclipse 中运行良好,但是当我以 Executable 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. iis.properties 文件正好在那个路径中(IISDB_C.jar!/com/zinnaworks/iis/conf/iis.properties),但我不知道那个'!' 意味着 3. 每个其他文件都会犯同样的错误,因为它们都是由属性文件中定义的 String 初始化的。
PS 我不知道如何使用 -Dmp 选项。所有路径都是在相对路径中设计的,并且包含在该 jar 文件中。