gpt4 book ai didi

java - 在 Ubuntu 终端中运行可执行 jar 时获取错误文件。

转载 作者:行者123 更新时间:2023-11-30 04:17:51 24 4
gpt4 key购买 nike

标题说明了一切。

我必须在终端中运行我的 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

我想我应该专注于这个文件的事情。

如果您有任何解决方案或好的引用资料,请分享。

:谢谢。

================ 收到一些反馈后============================ ======谢谢。

也许这部分可以是一个线索。

我的命令行是

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 初始化的。

附注我不知道如何使用 -Dmp 选项。所有路径都设计为相对路径,并包含在该 jar 文件中。

最佳答案

很难判断你的问题到底是什么,看看你的堆栈跟踪我可以看到这一点:

  • java.io.File第251行中抛出了NullPointerException。我查看了这个类的源代码,看来你的应用程序尝试使用构造函数 File(pathname) 创建一个 File 对象,但 pathname 为空,所以我猜你需要指定一个应用程序中某处的文件名(可能是属性文件?),当您在控制台中执行程序时未指定该文件名。

  • com.zinnaworks.iis.DBFileLoader.loadDBFile(DBFileLoader.java:17) 行表明您正在使用某种正在尝试查找其数据库的数据库文件;同样,您需要找到为数据库指定文件的位置。




就是这样,如果我没有什么可以帮助你的,很抱歉。



更新



通常当您看到像 /my/path/myJar.jar!/internal/path/file 这样的行时,它的意思是:“文件 /internal/path/file > 位于/my/path/myJar.jar 内部”(请记住,jar 文件是内部包含文件的 zip 文件)。



在这种情况下,堆栈跟踪表明在您的 jar 中找不到文件/com/zinnaworks/iis/conf/iis.properties。



尝试解压缩您的 jar,以验证您的属性文件是否丢失。如果您知道如何执行此操作,请添加属性文件并再次“重新压缩”所有内容(这是一个肮脏的解决方案,但在某些情况下有效),然后重试。



如果事实证明这是您的错误,那么您必须了解如何在生成 jar 时将该属性文件包含在该文件中。








关于java - 在 Ubuntu 终端中运行可执行 jar 时获取错误文件。<init>,我们在Stack Overflow上找到一个类似的问题:

https://stackoverflow.com/questions/17915087/




24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com