2016-05-13 3 views
0

これは私のJavaプロジェクトの構造である:Test.javaの内容ExtClassLoaderでクラスを読み込めないのはなぜですか?

package com.study.test; 

public class HelloWorld {} 

package: com.study.test 
       ---- HelloWorld.java 
       ---- Test.java 

HelloWorld.javaの内容

package com.study.test; 

public class Test { 

    public static void main(String[] args) { 
     System.out.println(System.getProperty("java.ext.dirs")); 
     System.out.println(HelloWorld.class.getClassLoader()); 
    } 

} 

" java.ext.dirs"の値"は次のとおりです。

D:\glassfish4\jdk7\jre\lib\ext;C:\windows\Sun\Java\lib\ext 

私はディレクトリにHelloWorld.classをクラスファイルを置く:

D:\glassfish4\jdk7\jre\lib\ext\com\study\test 

が、出力" "System.out.println(HelloWorld.class.getClassLoader());は次のとおりです。

[email protected] 

なぜクラスHelloWorldはExtClassLoaderによってロードされていませんか? ExtClassLoaderは、AppClassLoaderの親クラスローダーです。

+0

はここでかなり良い記事だ(あなたのquestinからコピーされたディレクトリが)どのクラスローダは何をすべきか:https://blogs.oracle.com/ sundararajan/entry/understanding_java_class_loading –

答えて

関連する問題