首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何跳过maven repo中的发行版或特定模块

问如何跳过maven repo中的发行版或特定模块
EN

Stack Overflow用户
提问于 2013-01-12 17:53:04
回答 3查看 24.4K关注 0票数 29

Heyho

我有一个maven项目有这个scructure:

家长:

  • 列表项目
  • API模块
  • module2
  • ..。
  • module5
  • 测试
  • 分配/组装

因此,我首先运行父模块,然后运行构建api的模块,然后运行依赖于api的模块,然后运行包含测试工具的测试模块,最后运行一个组装/分发程序,将一些模块打包到存档中。由于一些问题,我不能真正改变方式,它的工作到目前为止的完美。

使用jenkins,我将其发布给maven repo,但我只想发布API和一些模块,而不是测试模块和分发模块。有办法跳过吗?不想发布我不需要的东西

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-12 19:52:55

为了正确理解您,您仍然希望运行测试模块,但您不希望部署/释放它们。maven-deploy-plugin去营救了!到工件仍将被建造,但未部署。

代码语言:javascript
复制
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.7</version>
    <configuration>
        <skip>true</skip>
    </configuration>
  </plugin>

然而,jenkins发布插件仍将发布所有工件。与其使用jenkins发布插件,不如考虑使用maven-release-plugin发布,这很容易做到:

代码语言:javascript
复制
mvn release:prepare
mvn release:perform

因为default goals是deploy和site,所以一切都应该是正常的。

只需确保根pom中有一个scm标记:

代码语言:javascript
复制
<scm>
    <connection>scm:svn|git:https://...</connection>
    <developerConnection>scm:svn|git:https://...</developerConnection>
</scm>

并且您的版本控制工具命令(git,svn,.)在路径上是可用的。

票数 38
EN

Stack Overflow用户

发布于 2013-01-13 00:12:23

您可以添加一个maven命令行选项来指定在jenkins中构建的模块。

代码语言:javascript
复制
-pl,--projects <arg>                   Comma-delimited list of specified
                                       reactor projects to build instead
                                       of all projects. A project can be
                                       specified by [groupId]:artifactId
                                       or by its relative path.
票数 3
EN

Stack Overflow用户

发布于 2013-01-14 13:06:03

聚合器项目的目的是将简单项目的建筑需求结合起来。如果您的基本项目有不同的构建要求,请考虑添加一个新的聚合器项目。

禁用部署到当前聚合器项目中的Maven存储库,并创建一个只包含希望部署的模块的新聚合器项目。

将这个新项目添加到Jenkins,使其依赖于原始项目,并将其配置为部署到您的存储库中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14296170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档