我有几个库,我使用以下方法手动部署到我的Nexus存储库:
mvn deploy:deploy-file -Durl=[url] -DrepositoryId=[repoId] -Dfile=[filePath] -DgroupId=[gId] -DartifactId=[aid] -Dversion=[v] -Dpackaging=jar
我之所以这样做,是因为它们是传统的罐子,而且我已经自动完成了大量的罐子。
我遇到的问题是打包WAR。依赖关系很好,但是当生成战争时,它们会在末尾附加版本+时间戳。我有几个其他项目似乎不是这种情况 - 即,在给定服务器的多个包装和部署之后,[目录]的lib目录包含:
[jar].[<version>-timestamp1].jar
[jar].[<version>-timestamp2].jar
[jar].[<version>-timestamp3].jar
[jar].[<version>-SNAPSHOT].jar <== this entry alone would be ideal
另外,我没有使用任何特定的插件只是调用:
clean package
打包战争时是否可以消除时间戳?
答案 0 :(得分:2)
您可能需要问自己为什么需要消除时间戳。
如果您只想下载最新的SNAPSHOT版本,Nexus会提供REST API直接使用您的快照版本作为版本参数下载最新的SNAPSHOT工件,例如1.0-SNAPSHOT
。 e.g。
http://<your-nexus>/service/local/artifact/maven/redirect?r=<your-repo>&g=<the-group>&a=<the-id>&v=1.0-SNAPSHOT
从API文档中,version参数可以支持LATEST
,RELEASE
和SNAPSHOT
版本。
Version of the artifact (Required) Supports resolving of "LATEST", "RELEASE" and snapshot versions ("1.0-SNAPSHOT") too.
此外,通过时间戳,每个SNAPSHOT版本都有它的唯一版本,这使您有机会下载指定的SNAPSHOT版本,例如v=1.0-20140822.145007-2
。
如果您想限制快照数量,可以查看以下内容:How to limit number of deployed snapshots artifacts in Nexus?