JDK11 引起的java.specification.version 有关的 NullPointerException

郁闷, 莫名其妙就是启动不了了, 之前好好的:


java.lang.NullPointerException: null
at org.apache.commons.lang3.SystemUtils.isJavaVersionAtLeast(SystemUtils.java:1654) ~[commons-lang3-3.7.jar:3.7]
at org.apache.commons.lang3.ClassUtils.isAssignable(ClassUtils.java:760) ~[commons-lang3-3.7.jar:3.7]

查看源码是:

也就是JAVA_SPECIFICATION_VERSION_AS_ENUM  为null, 它来源是:

public static final String JAVA_SPECIFICATION_VERSION = getSystemProperty("java.specification.version");
private static final JavaVersion JAVA_SPECIFICATION_VERSION_AS_ENUM = JavaVersion.get(JAVA_SPECIFICATION_VERSION);

感觉跟jdk 版本有关, 可能是 jdk11 默认没有"java.specification.version" 这个参数吧:

果然,改完,立即就没有了那个npe!

我去,jdk11 竟然有这么低级的bug


版权声明
本文原创发表于 博客园,作者为 阿K .     本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
欢迎关注本人微信公众号:觉醒的码农,或者扫码进群:

原文地址:https://www.cnblogs.com/FlyAway2013/p/15422150.html