java - 双击启动时无法从 jar 中打开资源

标签 java resources jar double-click

我已经被这个问题困扰了一段时间了。我发现thisthis但这些解决方案对我来说根本不起作用。

我的 jar 在命令提示符下与 java -jar 完美配合,但是当双击时,会打开一个 JFrame 窗口,但在以下情况下失败:

Scanner fileLat = new Scanner( a.getClass().getResourceAsStream("/motor/resources/lat.txt") );
Scanner fileLong = new Scanner( a.getClass().getResourceAsStream("/motor/resources/long.txt") );

这会导致空指针异常和找不到资源。

我的目录结构(在 jar 内)如下所示:

/ (root)
|- META-INF
|- motor
 |- main
  |- Main.class
 |- resources
  |- lat.txt
  |- long.txt

我的 MANIFEST.MF 内容如下:

Manifest-Version: 1.0
Class-Path: .
Main-Class: motor.main.Main

编辑: 我刚刚尝试this (特别是 jar:file:MyJar.jar!/etc...)并且它也不起作用。

最佳答案

您是否尝试从 list 中删除Class-Path? 在我这里的示例中定义类路径并不常见:许多应用程序(包括 jEdit 和 jExt 安装程序)无需它即可运行。

您也可以尝试添加一个空的。

关于java - 双击启动时无法从 jar 中打开资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537620/

相关文章:

java - 获取所有受马影响的字段作为点数组

kotlin - 启动Corda Jar时出现问题:newAtomicIntegerFieldUpdater

java - 在 Java 中使用 for-each 循环

Java Netty 负载测试问题

java - 我们应该将参数作为变量或直接在java中作为新对象传递给方法吗

java - 如何在Ant的build.xml中指定<java jar ="sth.jar"fork ="true"/>的输入参数?

java - 线程中的异常 "main"java.lang.NullPointerException : While trying to the run the jar file

Android:来自资源的 getString() 会丢失字符串中的所有标签

.net - WPF 中的 StaticResource 和 DynamicResource 有什么区别?

wpf - 不同程序集中的应用程序级资源