java - 有没有一种方法只需一个命令即可构建我的所有 Maven 项目?

标签 java maven

我对 Maven 还很陌生,我已经建立了 2 个 Maven 项目,其中之一是我的实用程序 API,第二个是 Jersey API。我安装了实用程序 API 作为本地 Maven 存储库的一部分,并将其添加到 pom.xml 文件中。

一切工作正常,只是当我想构建/运行测试时,我需要转到项目所在的每个目录并运行命令。有没有办法运行一个命令或以某种方式重新配置项目,以便我能够仅从 REST API 目录处理所有内容?

例如。 mvn clean test ... 某事 ... -> 去测试我的两个项目。

再一次,我是 Maven 的新手,但我也进行了研究,但找不到可以帮助我的正确有用信息。如果这是需要关闭的问题之一,您能否在关闭之前至少向我提供一些更多信息?谢谢。

最佳答案

您可以使用多模块 Maven 项目。您定义这样的结构

/
 pom.xml (A)
 util-api
   pom.xml (B)
 jersey.api
   pom.xml (C)

在子 pom 中,您指定 <parent>节点。

(A) pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>mygroup.id</groupId>
  <artifactId>myparentartifact</artifactId>
  <packaging>pom</packaging>
  <version>0.0.1-SNAPSHOT</version>
  ...
  <modules>
    <module>util-api</module>
    <module>jersey-api</module>
  </modules> 
</pom>

(B) pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>myparentartifact</artifactId>
    <groupId>mygroup.id</groupId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
  </parent>
  <artifactId>util-api</artifactId>
  <packaging>jar</packaging>
</pom>

(C) pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>myparentartifact</artifactId>
    <groupId>mygroup.id</groupId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
  </parent>
  <artifactId>jersey-api</artifactId>
  <packaging>jar</packaging>
</pom>

通过此配置,您可以使用一个命令构建所有模块:mvn clean install

关于java - 有没有一种方法只需一个命令即可构建我的所有 Maven 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31025924/

相关文章:

java - java 正则表达式中的错误

java - 通用表模型

maven - Sbt 不更新本地 Maven 仓库中的快照

java - 如何让单元测试在 Maven Tycho 构建中运行?

java - 如何对无序列表的位置进行聚类?

java - 通过 CLI 执行 testng.xml 时出错 : Could not find or load main class org. testng.TestNG

java - eclipse kepler 中的冗余空检查

eclipse - Eclipse 中用于 Maven 包命令的键绑定(bind)

java - maven 从 pom 内部运行 maven install

maven-ear-plugin 和 JBoss AS 7