Java maven反应堆构建学习实践

实践环境

Apache Maven 3.0.5 (Red Hat 3.0.5-17)

应用示例

示例项目结构

maven示例项目组织结构如下

maven-study
│ pom.xml

├─first-sub-module
│ │ pom.xml
│ │
│ ├─src
│ │ ├─main
│ │ │ └─java
│ │ │ └─com
│ │ │ └─shouke
│ │ │ └─mvnstudy
│ │ │ HelloMaven.java
│ │ │
│ │ └─test
│ │ └─java
│ │ └─com
│ │ └─shouke
│ │ └─mvnstudy
│ │ TestHelloMaven.java
│ │
│ └─sub-sub-module
│ │ pom.xml
│ │
│ └─src
│ ├─main
│ │ └─java
│ │ └─com
│ │ └─shouke
│ │ └─mvnstudy
│ │ HelloMaven.java
│ │
│ └─test
│ └─java
│ └─com
│ └─shouke
│ └─mvnstudy
│ TestHelloMaven.java

└─second-sub-module
│ pom.xml

└─src
├─main
│ └─java
│ └─com
│ └─shouke
│ └─mvnstudy
│ HelloMaven.java

└─test
└─java
└─com
└─shouke
└─mvnstudy
TestHelloMaven.java

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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>parent-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies> <modules>
<module>first-sub-module</module>
<module>second-sub-module</module>
</modules>
</project>
</xml>

first-sub-module/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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>first-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.shouke.mvnstudy</groupId>
<artifactId>second-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.shouke.mvnstudy</groupId>
<artifactId>sub-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies> <parent>
<groupId>com.shouke.mvnstudy</groupId>
<!--父项目id-->
<artifactId>parent-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent> </project>
</xml>

first-sub-module/sub-sub-module/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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>sub-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
</xml>

second-sub-module/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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>second-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies> <parent>
<groupId>com.shouke.mvnstudy</groupId>
<!--父项目id-->
<artifactId>parent-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent> </project>
</xml>

学习实践

-pl选项应用

# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl first-sub-module  compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building first-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.219s
[INFO] Finished at: Fri Dec 24 11:20:23 CST 2021
[INFO] Final Memory: 17M/1447M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project first-sub-module: Could not resolve dependencies for project com.shouke.mvnstudy:first-sub-module:jar:1.0.0-SNAPSHOT: Could not find artifact com.shouke.mvnstudy:second-sub-module:jar:1.0.0-SNAPSHOT -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

-am选项应用

# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl first-sub-module -am compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] parent-module
[INFO] second-sub-module
[INFO] first-sub-module
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building parent-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ parent-module ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building second-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
[INFO] Deleting /root/maven-study/second-sub-module/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building first-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ first-sub-module ---
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ first-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/first-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ first-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/first-sub-module/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] parent-module ..................................... SUCCESS [0.146s]
[INFO] second-sub-module ................................. SUCCESS [0.576s]
[INFO] first-sub-module .................................. SUCCESS [0.346s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.187s
[INFO] Finished at: Fri Dec 24 11:22:06 CST 2021
[INFO] Final Memory: 22M/1096M
[INFO] ------------------------------------------------------------------------

-amd选项应用

对比示例

# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building second-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.976s
[INFO] Finished at: Fri Dec 24 11:21:18 CST 2021
[INFO] Final Memory: 23M/1447M
[INFO] ------------------------------------------------------------------------
# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module -am compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] parent-module
[INFO] second-sub-module
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building parent-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ parent-module ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building second-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
[INFO] Deleting /root/maven-study/second-sub-module/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] parent-module ..................................... SUCCESS [0.132s]
[INFO] second-sub-module ................................. SUCCESS [0.536s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.771s
[INFO] Finished at: Fri Dec 24 11:24:13 CST 2021
[INFO] Final Memory: 23M/1447M
[INFO] ------------------------------------------------------------------------

-amd应用示例

# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module -amd compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] second-sub-module
[INFO] first-sub-module
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building second-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
[INFO] Deleting /root/maven-study/second-sub-module/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building first-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ first-sub-module ---
[INFO] Deleting /root/maven-study/first-sub-module/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ first-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/first-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ first-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/first-sub-module/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] second-sub-module ................................. SUCCESS [0.652s]
[INFO] first-sub-module .................................. SUCCESS [0.344s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.100s
[INFO] Finished at: Fri Dec 24 11:24:33 CST 2021
[INFO] Final Memory: 24M/1157M
[INFO] ------------------------------------------------------------------------

嵌套子模块构建

# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl first-sub-module/sub-sub-module compile
[INFO] Scanning for projects...
[ERROR] Could not find the selected project in the reactor: first-sub-module/sub-sub-module -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException

修改first-sub-module/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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>first-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.shouke.mvnstudy</groupId>
<artifactId>second-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies> <parent>
<groupId>com.shouke.mvnstudy</groupId>
<!--父项目id-->
<artifactId>parent-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent> <modules>
<module>sub-sub-module</module>
</modules> </project>
</xml>

修改first-sub-module/sub-sub-module/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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>sub-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies> <parent>
<groupId>com.shouke.mvnstudy</groupId>
<!--父项目id-->
<artifactId>first-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
</project>
</xml>
# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl first-sub-module/sub-sub-module -am compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] parent-module
[INFO] second-sub-module
[INFO] first-sub-module
[INFO] sub-sub-module
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building parent-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ parent-module ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building second-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
[INFO] Deleting /root/maven-study/second-sub-module/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building first-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ first-sub-module ---
[INFO] Deleting /root/maven-study/first-sub-module/target
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sub-sub-module 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ sub-sub-module ---
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ sub-sub-module ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/maven-study/first-sub-module/sub-sub-module/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ sub-sub-module ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /root/maven-study/first-sub-module/sub-sub-module/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] parent-module ..................................... SUCCESS [0.148s]
[INFO] second-sub-module ................................. SUCCESS [0.728s]
[INFO] first-sub-module .................................. SUCCESS [0.005s]
[INFO] sub-sub-module .................................... SUCCESS [0.370s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.370s
[INFO] Finished at: Fri Dec 24 11:39:07 CST 2021
[INFO] Final Memory: 22M/1098M
[INFO] ------------------------------------------------------------------------
结论

注意-pl只适用在“父子”结构的项目中,构建子项目

针对以上结论,修改相关pom.xml,再次测试验证

修改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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>parent-module</artifactId>
<version>1.0.0-SNAPSHOT</version> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies> </project>
</xml>

修改second-sub-module/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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.shouke.mvnstudy</groupId>
<artifactId>second-sub-module</artifactId>
<version>1.0.0-SNAPSHOT</version> <dependencies>
<!-- junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies> </project>
</xml>
# mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module compile
[INFO] Scanning for projects...
[ERROR] Could not find the selected project in the reactor: second-sub-module -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException

如上,提示找不到模块。

-------------------------------文字太少,占位符---------------------------------

-------------------------------文字太少,占位符---------------------------------

Java maven反应堆构建学习实践的更多相关文章

  1. Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境

    在Redhat enterprise 6.5 的服务器上,为在gutub 上的 java mvaen项目构建一个持续集成环境,用到了Jenkins.因公司的服务器在内网,访问外网时要通过代理,所以为m ...

  2. 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)

    工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...

  3. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  4. (转)Maven学习总结(二)——Maven项目构建过程练习

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...

  5. Maven学习总结(2)——Maven项目构建过程练习

    Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...

  6. Java 中三大构建工具:Ant、Maven和Gradle

    Java世界中主要有三大构建工具:Ant.Maven和Gradle 目前:Ant已经销声匿迹.Maven也没落了,而Gradle的发展则如日中天. Maven的主要功能主要分为5点,分别是依赖管理系统 ...

  7. 【IDEA使用技巧】(4) —— IDEA 构建Java Maven项目、导入Eclipse项目、多Module Maven项目

    1.IntelliJ IDEA构建Java Maven项目 1.1. IDEA构建Java Maven项目 ①选择Create New Project,选择创建Maven项目,并勾选Create fr ...

  8. 用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)

    (软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...

  9. java web构建学习(概念基础)

    1.什么是Java Web Application 一个Java web应用程序生成交互式web页面包含各种类型的标记语言(HTML.XML等)和动态内容.它通常由web组件例如JavaServer ...

  10. Maven相关内容学习笔记一:基本配置和使用

    首先必须推荐的这本书<Maven实战> 许晓斌,机械工业出版社 Maven简介 其实使用Maven也有很久时间了,大部分都是别人建好了工程我使用一下,实际上并没有非常详细的使用经验,这次到 ...

随机推荐

  1. 8.21考试总结(NOIP模拟45)[打表·蛇·购物·ants]

    有型的东西终究会消逝,不过--终于,这份回忆还是永远不朽的- 前言 这次考试暴露出来了不少问题. 比如答题策略策略不当导致 T2 的 65pts 暴力根本没有打. 知识遗忘太快不牢固,T4 是之前的一 ...

  2. ETL工具-nifi干货系列 第三讲 nifi web ui 使用教程

    1.nifi 服务启动之后,浏览器输入https://localhost:8443/nifi ,匿名登录或者输入用户名密码进入操作页面,如下图所示: 2.组件工具栏 处理器,鼠标放到图标上提示Proc ...

  3. Java动态获取实现类 Class.forName(clazz).newInstance()和applicationContext.getBean, bean Map寻找方式,Java Map定义和初始化方法

    Java动态获取实现类 Class.forName(clazz).newInstance()和applicationContext.getBean, bean Map寻找方式,Java Map定义和初 ...

  4. bean反射比较两个bean属性值的修改明细

    1.期望:将[username]从'111'改成'222';将[address]从'这是一个测试数据'改成'这是一个真实数据'; 2.导入jar <dependency> <grou ...

  5. cuda性能优化-2.访存优化

    简介 在CUDA程序中, 访存优化个人认为是最重要的优化项. 往往kernel会卡在数据传输而不是计算上, 为了最大限度利用GPU的计算能力, 我们需要根据GPU硬件架构对kernel访存进行合理的编 ...

  6. 哈啰面试:说说Dubbo运行原理?

    Dubbo 是一款高性能.轻量级的开源 RPC(远程过程调用)框架,主要用于构建分布式服务和微服务架构.那 Dubbo 又是如何运行的呢?让我们一起来看. 1.核心组件 要说 Dubbo 运行流程就不 ...

  7. IP数据报分片问题

    为什么要分片? 很多时候,由于单个数据太大,超过了MTU的限定值,就要对数据包进行分组,即切割并分别发送. 我们要解决以下几个问题: 1.顺序问题.接收方可以按照原来的顺序重组这些分片,并能知道这些分 ...

  8. ecnuoj 5042 龟速飞行棋

    5042. 龟速飞行棋 题目链接:5042. 龟速飞行棋 赛中没过,赛后补题时由于题解有些抽象,自己写个题解. 可以发现每次转移的结果只跟后面两个点的胜负状态有关. 不妨设 \(f_{u,a,b}\) ...

  9. python重拾基础第二天

    本节内容 列表.元祖操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 三元运算&生成式&成员运算&解压法&队列堆栈&数据类型转换 1. 列表操作 ...

  10. Bike Sharing Analysis(二)- 假设检验方法

    假设检验 假设检验是推论统计学(inferential statistics)的一个分支,也就是对一个较小的.有代表性的数据组(例如样本集合)进行分析与评估,并依此推断出一个大型的数据组(例如人口)的 ...