
Maven私服部署:SNAPSHOT版本为何同时出现在发布和快照仓库?
在使用Maven将项目部署到私服时,如果pom文件配置如下,即使版本号包含snapshot后缀,项目却同时出现在发布和快照仓库中:
x-repo http://x-repo.abc.net/repository/maven-releases/ x-repo http://x-repo.abc.net/repository/maven-snapshots/
问题根源:重复的仓库ID
问题的关键在于repository和snapshotRepository都使用了相同的id:x-repo。 Maven使用id来识别仓库,相同的id导致Maven将发布和快照仓库视为同一个仓库。 因此,即使版本号包含snapshot,项目仍然被部署到releases仓库。
解决方案:使用不同的仓库ID
为了避免这个问题,必须为发布和快照仓库设置不同的id:
x-repo-releases http://x-repo.abc.net/repository/maven-releases/ x-repo-snapshots http://x-repo.abc.net/repository/maven-snapshots/
修改后的配置能够让Maven正确区分发布和快照仓库,确保snapshot版本的项目只部署到快照仓库。










