gpt4 book ai didi

java - 奇怪的 NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-02 08:23:26 25 4
gpt4 key购买 nike

安装最新版本的 Vuze (Azureus) 后,我在尝试启动它时遇到了奇怪的错误:

> java -Xmx128m -classpath ./Azureus2.jar:./swt.jar -Djava.library.path=/bt_work/vuze -Dazureus.install.path=/bt_work/vuze -Dazureus.script=./azureus -Dazureus.script.version=2 org.gudy.azureus2.ui.swt.Main
Exception in thread "main" java.lang.NoClassDefFoundError: org/gudy/azureus2/ui/swt/Main
Caused by: java.lang.ClassNotFoundException: org.gudy.azureus2.ui.swt.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

奇怪的是:

> javap -classpath ./Azureus2.jar:./swt.jar org.gudy.azureus2.ui.swt.Main
Compiled from "Main.java"
public class org.gudy.azureus2.ui.swt.Main extends java.lang.Object{
public static final java.lang.String PR_MULTI_INSTANCE;
...

所以...使用相同的类路径运行 javap 可以找到该类,但单独使用 java 则无法找到该类。这是怎么回事?

我检查了这两个程序都来自同一个安装 Java (/usr/lib64/jvm/java-1.6.0-sun),即 Java 6,并且这些类是为 Java 5 编译的。 list 未签名。 JAR 文件是可读的(unzip -t 报告没有错误)。

最佳答案

NoClassDefFoundError 当找到类本身但类加载器无法加载它需要的所有类时会发生。

您能否检查类 org.gudy.azureus2.ui.swt.Main.java 的导入 header ,并确保可以在您的类路径中找到所有导入的类。如果没有,请将 jar 文件添加到类路径中。

如果您希望我帮助找出还需要什么,请发布导入部分。

关于java - 奇怪的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5022364/

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