[英]Spring boot - codeSource is returning as null
公平警告我是春季靴子的新手...
任何人都会遇到尝试获取 codeSource/URL 时抛出空指针异常的情况,我已将其范围缩小到 spring 代码库中的这段代码
ProtectionDomain protectionDomain = getClass().getProtectionDomain();
CodeSource codeSource = protectionDomain.getCodeSource();
this is line 119: URI location = (codeSource != null) ? codeSource.getLocation().toURI() : null;
这是堆栈跟踪
org.springframework.boot.loader.JarLauncher.main exited with an exception.
java.lang.IllegalStateException: java.lang.NullPointerException
at org.springframework.boot.loader.ExecutableArchiveLauncher.<init>(ExecutableArchiveLauncher.java:41)
at org.springframework.boot.loader.JarLauncher.<init>(JarLauncher.java:35)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.kabira.platform.MainWrapper.invokeMain(MainWrapper.java:66)
Caused by: java.lang.NullPointerException
at org.springframework.boot.loader.Launcher.createArchive(Launcher.java:119)
at org.springframework.boot.loader.ExecutableArchiveLauncher.<init>(ExecutableArchiveLauncher.java:38)
... 7 more
尝试
getClass().getClassLoader().getClass()
.getProtectionDomain()
.getCodeSource()
.getLocation()
.toURI()
.getPath();
getClassLoader()
在这种情况下是关键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.