如何修复 NullPointerException“org.apache.commons.lang3.SystemUtils.JAVA_SPECIFICATION_VERSION_AS_ENUM”为空?

7 java nullpointerexception apache-commons

我一直尝试运行我的代码,但是当我运行它时,我收到消息

"Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.commons.lang3.JavaVersion.atLeast(org.apache.commons.lang3.JavaVersion)" because "org.apache.commons.lang3.SystemUtils.JAVA_SPECIFICATION_VERSION_AS_ENUM" is null"
Run Code Online (Sandbox Code Playgroud)

有人知道怎么修这个东西吗?我很感激你的帮助。

rzw*_*oot 5

您使用的是旧版本的 lang3,它无法识别您使用的 Java 版本。最近的版本试图回避这样一个事实:当新的 java 版本发布时发生硬崩溃总是相当愚蠢的,但当每 6 个月就有一个新的 java 版本可用时更是如此,但显然你拥有的 lang3 版本早于这次升级。

更一般地说,除非您有非常迫切的需求,否则不要使用 apache commons 库;它们并不是特别好的 API 设计。但是,如果必须的话,您真正需要做的就是将版本 dep 更新到最新版本。版本3.11应该可以解决问题。