私は、次のコードなぜcpがコロンで終了しない場合、class.getClassLoader()がnullポインタをスローしますか?
public static void main(String args[]) throws Exception {
ClassLoader sysClassLoader = Thread.currentThread().getContextClassLoader();
URL[] urls = ((URLClassLoader)sysClassLoader).getURLs();
String cp = "";
for(int i=0; i< urls.length; i++)
{
String ffile = (String) urls[i].getFile();
}
}
を持っており、クラスは非常によくコンパイルする - これはスタンジェです。私はこの方法でクラスを起動した場合、私はNULLポインタキャッチ:
java -cp "foo.jar" FileUtils
Exception in thread "main" java.lang.NoClassDefFoundError: FileUtils
をしかし、私はそれを起動したときにすべてがうまくている。この方法:
java -cp "foo.jar:" FileUtils
File:/home/u/wzhkit/java/foo.jar
なぜこれがあるとどのように私はこの問題を回避することができますか?
おかげで、 クリス
それはあなたのコードが何によるものではありません。それを実行する主なクラスが見つからないだけです。 nullポインタはまったくありません。 – SJuan76
パス値を引用符で囲む必要はありません。 Char:Linux上のパス区切り文字です。 – 01es
'NoClassDefFoundError'があります。ここで' NullPointerException'をキャッチしていますか? (または、あなたの質問のタイプミスですか?) –