我有一个使用Maven构建并部署到Nexus 2的Java项目。
E.g。发布版本部署到:
axis
快照构建部署到:
repositories/releases/com/my-company/a/b/c/1.1.0
repositories/releases/com/my-company/a/b/c/1.2.0
在部署阶段,我想将一些额外的人工制品部署到Nexus以下的存储库,该文件夹取决于构建版本是发布还是快照。
repositories/snapshots/com/my-company/a/b/c/1.1.0-SNAPSHOT
repositories/snapshots/com/my-company/a/b/c/1.2.0-SNAPSHOT
从阅读这个主题看起来我可以使用部署插件来实现这一点,但我不确定如何。
答案 0 :(得分:1)
Maven有5个组件的人工坐标(a.k.a. GAV(groupId
的缩写,artifactId
,version
)。这些神器坐标是:
groupId
artifactId
version
type
classifier
基于这些坐标,Maven为您构建路径。
例如:
groupId
:com.foo
artifactId
:bar
version
:1.0
type
:jar
classifier
:jdk12
它将生成如下路径:
com/foo/bar/1.0/bar-1.0-jdk12.jar
如果没有classifier
,它将只创建:
com/foo/bar/1.0/bar-1.0.jar
您尝试做的事情不适合Maven支持的工件坐标,因此不正确。
答案 1 :(得分:0)
你在"文件夹中的想法"有点误导。使用groupId,artifactId,version,packaging和classifier部署到nexus。 Nexus将其转换为文件夹结构,但您无法在Nexus中创建任意文件夹。
如果要部署其他工件,可以使用deploy:deploy-file
目标,但必须为它们提供Maven坐标(groupId,artifactId,...)而不是文件夹。