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.

我有一个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.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
  • 版本
  • 类型
  • 分类器
基于这些坐标,Maven为您构建路径

例如:

  • 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等)