Maven部署至中央仓库时nexus-staging插件API不兼容错误如何解决
报错含义
你遇到的报错是nexus-staging-maven-plugin:1.6.8插件和你当前使用的JDK16环境不兼容导致的。该版本插件基于JDK8开发,依赖的底层类库不支持JDK9及以上版本的模块化结构,在类加载初始化核心组件时触发ExceptionInInitializerError,最终导致deploy任务执行失败。
修复方案
- 方案1:升级nexus-staging-maven-plugin版本
1.6.13及以上版本的该插件已经适配了高版本JDK,你可以直接将pom.xml中该插件的版本号从1.6.8修改为最新稳定版(当前最新为1.6.14)即可,其余配置无需改动:<plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.14</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> - 方案2:单独指定deploy任务使用JDK8运行
如果你不想调整插件版本,可以保留现有配置,仅在执行deploy操作时切换运行环境为JDK8,项目本身的编译、打包环节依然可以使用JDK16,在VScode的Maven配置中单独为deploy任务指定JDK8的运行路径即可。 - 验证操作
修改完成后重新执行deploy命令,如果仍有异常可以先执行mvn clean清空本地缓存后再重试,同时确认settings.xml中ossrh对应的账号、密钥配置无误。
内容的提问来源于stack exchange,提问作者MichaPehlivan
相关产品推荐
相关产品推荐

