1
我有一個方法返回從中加載特定類的jar。方法如下。 對於某些類,下面的行返回null這是什麼意思如果class.getProtectionDomain返回null
ProtectionDomain protectionDomain = c.getProtectionDomain();
我想了解它在什麼情況下爲空。代碼編譯,所以我認爲這個類在編譯時是可見的,並且特定類所在的項目的依賴性也是編譯時間依賴性。
這裏是方法
public static String jarFor(Class c) {
ProtectionDomain protectionDomain = c.getProtectionDomain();
CodeSource codeSource = protectionDomain.getCodeSource();
URL url = codeSource.getLocation();
String path = url.getPath();
if (Os.isWindows() && path.startsWith("/")) {
path = path.substring(1);
}
return URLDecoder.decode(path);
}