3
は、私がロードされているすべてのjarファイルファイルのパスを取得したいです。 を以前java8に、私はどのようJava9のJavaアプリケーションによってロードされたすべてのjarファイルを取得するには?何らかの理由で
for (java.net.URL url : ((java.net.URLClassLoader) A.class.getClassLoader()).getURLs()) {
try {
String path = url.toString();
if (path.startsWith("file:/"))
path = path.substring(6);
path = java.net.URLDecoder.decode(path, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
}
を使用してこれを行っているが、Java 9で、にSystemClassLoader connotは、URLClassLoaderのにキャスト。
現在、私はSomeClass.class.getProtectDomain().getCodeSource().getLocation()
を使用していますが、これはかなりの費用がかかるので、私はここにこれを行うにはいくつかのより穏やかな方法を求めています。
をあなたがこれを必要とするのはなぜ?何を達成したいのですか? –
@ Usagi Miyamoto jarの絶対パスを取得したいだけです –
'Java9'には以前のリリースのように' rt.jar'はありませんが、別のモジュールがあります。したがって、 'SystemClassLoader'は以前のように' URLClassLoader'のインスタンスではありません。 –