使用Maven构建clarity-examples项目时遭遇API兼容性错误求助
解决Maven构建clarity-examples时的API不兼容错误
这个问题我之前也碰到过,核心原因是你用的maven-jar-plugin:2.6版本太老(2015年发布),完全不支持Java 14这类高版本JDK,导致初始化时抛出ExceptionInInitializerError。结合你的环境信息,给你几个可行的解决步骤:
1. 升级maven-jar-plugin到兼容版本
直接修改项目的pom.xml,把maven-jar-plugin的版本升级到至少3.2.0(这个版本对Java 9+的兼容性更好):
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <!-- 替换成兼容高版本Java的版本 --> <version>3.2.0</version> </plugin> </plugins> </build>
如果项目里没有显式声明这个插件,也可以在<pluginManagement>里添加配置,确保构建时使用新版本。
2. 确认JAVA_HOME配置的正确性
虽然你说echo能显示JAVA_HOME,但要确保它指向的是JDK的根目录,而不是bin子目录。比如你的情况,正确的JAVA_HOME应该是:
C:\Progra~1\Java\jdk-14
可以通过以下命令验证:
echo %JAVA_HOME%
如果路径不对,去系统环境变量里修改JAVA_HOME的值,之后重启命令行再尝试构建。
3. 清理Maven缓存并重新构建
旧的依赖缓存可能残留不兼容的组件,执行以下命令强制清理并重新安装:
mvn clean install -U
-U参数会强制Maven更新所有快照依赖,确保插件和依赖都是最新的兼容版本。
4. 备选:降级到LTS版本的Java
如果升级插件后还是有问题,可以暂时切换到Java 8或Java 11这类LTS版本——毕竟clarity-examples是旧项目,最初大概率是基于低版本Java开发的。切换JDK后记得同步更新JAVA_HOME,再重新执行构建。
内容的提问来源于stack exchange,提问作者user13269033
相关产品推荐
相关产品推荐

