gpt4 book ai didi

Java 程序仅在运行导出的 jar 时无法正常运行

转载 作者:行者123 更新时间:2023-12-01 13:48:37 24 4
gpt4 key购买 nike

我有一个 Java 程序(使用 JavaSE-1.6)。

当我在 eclipse 中执行程序时没有问题,我得到以下结果:

How it should be

但是当我将其导出到可执行 jar 并运行它时,我得到以下内容:

How it is

有人经历过这样的事情吗?

    Exception in thread "main" java.lang.NoSuchMethodError
at org.eclipse.jdt.internal.jarinjarloader.RsrcURLConnection.getInputStr
eam(RsrcURLConnection.java:43)
at java.net.URL.openStream(Unknown Source)
at sun.misc.URLClassPath$Loader.getResource(Unknown Source)
at sun.misc.URLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:56)

最佳答案

我鼓励您仔细阅读此页面,它只是有关 jar 文件的非常基本的信息: http://docs.oracle.com/javase/tutorial/deployment/jar/view.html

jar 文件没有什么特别的,实际上它只是一个存档,就像 *.zip 或 *.rar 一样。 java bin所做的实际上只是根据里面的元数据处理jar文件,然后运行里面的类。

您可以执行一些调试操作:

  1. 查看 jar 文件,检查所有引用的文件是否完整:图像、属性文件等。然后检查引用的路径是否正确。大多数时候,这只是斜杠和反斜杠之间互换的问题。
  2. 检查 META-INF/MANIFEST.MF 中的 jar 文件 mainfest:如果您的程序使用外部库,则需要在此文件中使用正确的路径指定它们!
  3. 如果您的程序没有日志系统(例如 log4j),则错误日志很可能会打印在 System.out 流上(如果您通过双击可执行 jar 来运行 jar,则该流为空/无处。因此,要查看 system.out,您应该尝试从 shell 命令行运行 jar 文件:java -jar yourjarfile.jar

关于Java 程序仅在运行导出的 jar 时无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20144563/

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