Java 使用Maven将其他人工制品部署到Nexus2
我有一个Java项目,它使用Maven构建并部署到Nexus2 例如,发布版本部署到:Java 使用Maven将其他人工制品部署到Nexus2,java,maven,nexus,Java,Maven,Nexus,我有一个Java项目,它使用Maven构建并部署到Nexus2 例如,发布版本部署到: repositories/releases/com/my-company/a/b/c/1.1.0 repositories/releases/com/my-company/a/b/c/1.2.0 repositories/snapshots/com/my-company/a/b/c/1.1.0-SNAPSHOT repositories/snapshots/com/my-company/a/b/c/1.2.
repositories/releases/com/my-company/a/b/c/1.1.0
repositories/releases/com/my-company/a/b/c/1.2.0
repositories/snapshots/com/my-company/a/b/c/1.1.0-SNAPSHOT
repositories/snapshots/com/my-company/a/b/c/1.2.0-SNAPSHOT
快照生成部署到:
repositories/releases/com/my-company/a/b/c/1.1.0
repositories/releases/com/my-company/a/b/c/1.2.0
repositories/snapshots/com/my-company/a/b/c/1.1.0-SNAPSHOT
repositories/snapshots/com/my-company/a/b/c/1.2.0-SNAPSHOT
在部署阶段,我想将一些附加的工件部署到Nexus到以下存储库中,文件夹取决于构建是版本还是快照
repositories/test/com/my-company/a/b/c/1.1.0/some-folder
repositories/test/com/my-company/a/b/c/1.1.0-SNAPSHOT/some-folder
通过阅读关于这个主题的文章,看起来我可以使用部署插件来实现这一点,但我不确定如何实现。你在“文件夹”中的想法有点误导。您可以使用groupId、artifactId、版本、打包和分类器部署到nexus。Nexus将其转换为文件夹结构,但不能在Nexus中创建任意文件夹
如果您想部署其他工件,可以使用部署:部署文件目标,但您必须为它们提供Maven坐标(groupId,artifactId,…)而不是文件夹。Maven有五个工件坐标的组件(也称为GAV(缩写为
groupId
,artifactId
,version
)。这些工件坐标为:
groupId
artifactId
版本
类型
分类器
:groupId
com.foo
:artifactId
bar
:版本
1.0
:type
jar
:分类器
jdk12
com/foo/bar/1.0/bar-1.0-jdk12.jar
如果没有分类器
,它只会创建:
com/foo/bar/1.0/bar-1.0.jar
您尝试执行的操作不符合Maven支持的工件坐标,因此是不正确的。它必须部署到补充存储库中的目的是什么?除此之外,文件夹不能部署到存储库管理器中,只能部署工件(jar、war、ear、zip、tar.gz等)