Maven3.x部署SNAPSHOT到Nexus3失败,如何指定版本不使用时间戳?
Maven3.x部署无时间戳SNAPSHOT版本到Nexus3解决方案
前置问题修正
首先排查并修正3个基础配置错误:
- 修正SNAPSHOT仓库地址:你当前pom.xml中
snapshotRepository配置的地址为http://192.168.64.128:8081/repository/maven_m/,但报错日志显示请求的是maven_d仓库,需确保地址和Nexus中实际创建的SNAPSHOT仓库地址完全一致。 - 修正版本号格式:当前pom中版本写为
1.0.SNAPSHOT,不符合Maven规范,需改为1.0-SNAPSHOT(用横杠连接版本号和SNAPSHOT标识),避免触发Nexus版本校验报错。 - 确认Nexus仓库配置:登录Nexus后台检查对应SNAPSHOT仓库的版本策略为
Snapshot类型,部署策略设置为Allow Redeploy。
核心配置(关闭SNAPSHOT时间戳后缀)
Maven3虽然移除了全局uniqueVersion参数,但可通过配置maven-deploy-plugin的useUniqueVersions参数实现不带时间戳的SNAPSHOT部署,在pom.xml的build -> plugins节点下添加如下配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> <configuration> <!-- 关闭时间戳后缀,生成1.0-SNAPSHOT.jar而非带时间戳的版本 --> <useUniqueVersions>false</useUniqueVersions> </configuration> </plugin>
部署验证
配置完成后执行以下命令即可完成部署:
mvn clean deploy
内容的提问来源于stack exchange,提问作者xuyuansheng
相关产品推荐
相关产品推荐

