のVuze(Azureusの)の最新バージョンをインストールした後、私はそれを起動しようとすると奇妙なエラーが発生しました:奇数NoClassDefFoundErrorが
> 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
だけでは見つかりません。 WTFは進行中ですか?
両方のプログラムが同じインストールJava(/usr/lib64/jvm/java-1.6.0-sun
)から来ていることを確認しました。これはJava 6で、クラスはJava 5用にコンパイルされています。マニフェストには署名がありません。 JARファイルは読み取り可能です(unzip -t
はエラーを報告しません)。