当前位置: 首页 > 面试题库 >

如何跳过Maven存储库中的发行版或特定模块

裴承安
2023-03-14
问题内容

嘿嘿

我有一个与这个结构的Maven项目:

父母:

  • 项目清单
  • API模块
  • 模块2
  • 模块5
  • 测试
  • 分销/组装

因此,首先运行父模块,然后运行构建api的模块,然后运行依赖api的模块,然后运行包含要测试的工具的测试模块,最后运行组装/发行版,其中打包一些归档中的模块。由于某些问题,我无法真正改变方法,并且到目前为止效果很好。

使用詹金斯,我将其发布到了Maven仓库中,但是我只想发布例如API和一些模块,而不是测试模块和分发模块。有没有办法跳过它们?不想发布我真正不需要的东西:/


问题答案:

为了正确理解您,您仍然想要运行测试模块,但是您不想部署/发布它们。在Maven的部署,插件来救援!至工件仍将构建,但不会部署。

  <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发行
,这很容易做到:

mvn release:prepare
mvn release:perform

由于默认目标是deploysite,所以一切正常。

只要确保您scm在根pom中有一个标签即可:

<scm>
    <connection>scm:svn|git:https://...</connection>
    <developerConnection>scm:svn|git:https://...</developerConnection>
</scm>

并且您的版本控制工具命令(git,svn,…)在PATH上可用。



 类似资料:
  • 我目前集成了maven、jenkins、Nexus和git,我正在学习这些工具。 我的要求是告诉maven只从pom中提到的存储库下载依赖项。xml,而不是来自我的Nexus存储库,但它的作用恰恰相反。 我已经在my settings.xml的repository下声明了我的Nexus版本和快照存储库。我如何告诉maven从特定的存储库而不是Nexus repo下载依赖项。 下面是我的pom。xm

  • 我正在开发一个服务器,它承载一个maven repo,并且面临一个问题,即如果快照不是特定格式,maven会错误地解析快照版本。在查找版本规则之后,我知道限定符可以是任何字符串,所以我希望maven能够下载带有任何限定符的依赖项。然而,这与我的经验不符。 回购协议具有以下文件夹结构(假设maven项目): 如果我尝试解析a. b. c. d-SNAPSHOT,这很好。我可以在maven日志中看到它

  • 我想使用nd4j-cuda-10.2中的项目。它有两个操作系统(Linux和Windows)的jar文件。在使用windows系统时,如何将jar从Linux中排除,反之亦然?。 [Maven Repository][1][1]:https://repo1.maven.org/maven2/org/nd4j/nd4j-cuda-10.2/1.0.0-beta7/ 由于jar文件的重量。我想排除对每

  • [警告]:提供的主机列表为空,只有本地主机可用 剧本:site.yml L[警告]:无法匹配提供的主机模式,忽略:mymac1 你能建议我如何将任何主机传递到我的playbook,而不必维护和存储所有主机信息的主机资源库吗 我在ansible 2.3.1.0版本上

  • 在构建之后,有可能从maven artifactory存储库中获得特定版本依赖JAR吗?由于有太多的Webapp,并且它们中的大多数都有公共依赖关系,所以考虑将所有依赖关系都作为“提供的”(这样WEB-INF/lib将为空),并在部署期间从artifactory存储库中获得所有特定版本的“提供的”JAR(部署的第一步是将JAR复制到Tomcat common lib中,然后是war部署)。如果可能

  • 我需要把一个项目交给第三个人。该项目使用Maven进行依赖管理,我们安装了一个Nexus存储库管理器。 我认为使用dependency:go offline plugin/goal like生成包含项目所需的所有依赖项的存储库是很容易的 此命令将按预期创建存储库。我将此存储库复制到目标计算机,并将localRepository(settings.xml)设置到存储库文件夹。 尝试在目标计算机上构建