0

Webアプリケーションのクラスパスをスキャンして、特定のインターフェイスを暗示するすべてのクラスを探しています。

私の現在のアプリケーションはスタンドアロンバージョンでは正常に動作していますが、Web環境では失敗しています。

これは私のコードの一部です

public String[] getClassPathRoots() {
        String classPath;
          classPath = System.getProperty("java.class.path");
        }
        String[] pathElements = classPath.split(File.pathSeparator);
        return pathElements;
    }

java.class.pathクラスパスルートを取得できるように、アプリケーションでの使用方法がわかりません。

4

1 に答える 1

5

そのプロパティは、JVMが起動時に使用したクラスパスに設定されます。ただし、一般的なWebコンテナは、各Webアプリケーションのクラスパス(つまり、クラスローダー階層)を動的に構築し、これを反映するようにプロパティを更新しません。(Webコンテナが複数のWebアプリケーションを実行し、それぞれが異なるクラスローダー階層を持つことを考えると、実際にはできません。JVMのグローバルシステムプロパティオブジェクトでそれをどのように表現しますか?)

要するに、あなたは別の方法を見つける必要があるでしょう。

于 2012-05-29T15:13:58.673 に答える