gpt4 book ai didi

java - 来自 JAR 的线程 "main"java.lang.NoClassDefFoundError 中出现异常

转载 作者:行者123 更新时间:2023-12-02 11:31:26 24 4
gpt4 key购买 nike

我正在尝试从 shell 文件运行 jar 可执行文件。我的 jar 的路径:

/home/flussi/xmlEncoder/encoder.jar

但我总是收到此错误:

    Exception in thread "main" java.lang.NoClassDefFoundError: smaf.encoder.Encoder
at java.lang.Class.initializeClass(libgcj.so.7rh)
Caused by: java.lang.ClassNotFoundException: java.nio.file.LinkOption not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/home/flussi/xmlEncoder/encoder.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.Class.initializeClass(libgcj.so.7rh)

shell命令

java -jar /home/flussi/xmlEncoder/encoder.jar

最佳答案

堆栈跟踪中有证据表明您正在尝试使用 GCJ 工具链来运行该 JAR 文件。 (下面评论中的证据证实了这一点。)

这才是真正的问题。

不幸的是,GCJ 的开发在完成对 Java 1.5 的支持之前就停止了。看起来您正在尝试运行依赖于 Java 1.7 类的 JAR 文件 (java.nio.file.LinkOption)

我的建议:

  • 卸载已安装的 GCJ java 包
  • 从软件包管理器安装 OpenJDK Java 8 (1.8) 软件包或更高版本1,或者从 Oracle 站点下载并安装 Java 8 或更高版本的 RPM。

如果你不管理机器,就让经理来管理。或者尝试在其他地方运行 JAR 文件。

很可能需要对应用程序进行重大重写才能使其在 GCJ 上运行。这将是浪费精力,因为 GCJ 实际上是一个死的 Java 平台。

<小时/>

1 - Java 7 可以工作,但几年前就已停产。

关于java - 来自 JAR 的线程 "main"java.lang.NoClassDefFoundError 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49275445/

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