我已经读过<unique>
版本设置不再执行,并在Maven 3或更高版本中被忽略,如下所述:Non-unique Versions。按照设计,Maven 3或更高版本将始终生成带有时间戳的SNAPSHOT版本。
当我构建工件时,我有一些只产生基本SNAPSHOT版本的工件,即使我在那里多次构建它。
在构建一些工件之后,在我的本地存储库中将会有我构建的基础工件-SNAPSHOT文件,以及同一工件的一些其他时间戳版本。有基础工件:artifactID-4.0.1.0-SNAPSHOT.jar,然后在同一目录中还有其他版本附加了版本:例如伪影的4.0.1.0-快照20160120.192041-37.jar。
我不希望构建时间戳文件并将其放入我的存储库,因为它只占用磁盘空间。我想弄清楚如何只生成基础4.0.1.0-SNAPSHOT版本,没有别的。
除了编写脚本来删除这些累积的带时间戳的工件之外,有没有人想办法完全禁用它们,以便它们不会在Maven 3或更高版本中创建?
答案 0 :(得分:0)
参考另一个调查表页面:
您要执行的操作是更改Maven / Nexus的默认行为。它根据附加的时间戳和顺序号来跟踪什么是“最新”。您只需要指定“ SNAPSHOT”,它将解析最新的(caveat:默认情况下,仅@daily检查来自远程的本地更新,除非指定了-U。如果要清除远程(Nexus)存储库,则可以安排任务到“从存储库中删除快照”。您可以安排每小时或更长时间(通过“高级” /“ cron”计划)。它需要时间戳记和顺序号,以知道要多久才能删除多余的副本(按时间或数量)
否则,请尝试使用 uniqueVersion = false maven unique version artifact
mvn deploy:deploy-file -Durl=file:///C:/m2-repo \
-DrepositoryId=some.id \
-Dfile=your-artifact-1.0.jar \
-DpomFile=your-pom.xml \
-DuniqueVersion=false