在Nexus中更改存储库布局

时间:2016-06-19 22:56:44

标签: maven jenkins nexus

我正在将使用Maven构建的Maven工件部署到Nexus,并在Jenkins中使用以下Maven命令来执行Nexus部署。

org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file

file=abc.ear
groupId=myGroup
artifactId=ModuleA
version=1.0
url=${NEXUS_URL}/dev-repository
repositoryId=dev-repository

我正在部署多个模块,我正在为三个模块调用上面的命令三次。在Nexus中得到的repo结构看起来像这样 -

myGroup
|
-ModuleA
 |
 -1.0
  |
  -abc.ear
-ModuleB
 |
 -1.0
  |
  -abc.ear
-ModuleC
 |
 -1.0
  |
  -abc.ear

到目前为止,这么好。但是,我希望有一个像 -

这样的结构
myGroup
|
-1.0
 |
 -ModuleA
  -abc.ear
 -ModuleB
  -abc.ear
 -ModuleC
  -abc.ear

我怎样才能做到这一点?我看到maven-deploy-plugin的文档引用了' repositoryLayout'。我怎么可能用它来获得这个特定的文件夹结构?

1 个答案:

答案 0 :(得分:1)

就我对maven的了解而言,它是一种标准布局,您无法使用标准的maven插件自定义它。

Maven改为默认'使用maven2的存储库布局,而maven用于在“遗产”中部署工件。布局及其旧版本。这两个是开箱即用的唯一布局

maven-deploy-plugin legacy layout

Details about difference in legacy and default layout

因此,您无法使用标准maven插件来获得所需内容。话虽如此,理论上你应该能够通过实现ArtifactRepositoryLayout接口来实现这一点。我在此链接中找到了一些信息:https://kthoms.wordpress.com/2009/10/13/how-to-register-a-custom-maven-repository-layout/