经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
Java maven反应堆构建学习实践
来源:cnblogs  作者:授客  时间:2022/1/3 0:27:01  对本文有异议

Java maven反应堆构建学习实践

实践环境

Apache Maven 3.0.5 (Red Hat 3.0.5-17)

应用示例

示例项目结构

maven示例项目组织结构如下

  1. maven-study
  2. pom.xml
  3. ├─first-sub-module
  4. pom.xml
  5. ├─src
  6. ├─main
  7. └─java
  8. └─com
  9. └─shouke
  10. └─mvnstudy
  11. HelloMaven.java
  12. └─test
  13. └─java
  14. └─com
  15. └─shouke
  16. └─mvnstudy
  17. TestHelloMaven.java
  18. └─sub-sub-module
  19. pom.xml
  20. └─src
  21. ├─main
  22. └─java
  23. └─com
  24. └─shouke
  25. └─mvnstudy
  26. HelloMaven.java
  27. └─test
  28. └─java
  29. └─com
  30. └─shouke
  31. └─mvnstudy
  32. TestHelloMaven.java
  33. └─second-sub-module
  34. pom.xml
  35. └─src
  36. ├─main
  37. └─java
  38. └─com
  39. └─shouke
  40. └─mvnstudy
  41. HelloMaven.java
  42. └─test
  43. └─java
  44. └─com
  45. └─shouke
  46. └─mvnstudy
  47. TestHelloMaven.java

pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>parent-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <packaging>pom</packaging>
  10. <dependencies>
  11. <!-- junit 依赖 -->
  12. <dependency>
  13. <groupId>junit</groupId>
  14. <artifactId>junit</artifactId>
  15. <version>4.10</version>
  16. <scope>test</scope>
  17. </dependency>
  18. </dependencies>
  19. <modules>
  20. <module>first-sub-module</module>
  21. <module>second-sub-module</module>
  22. </modules>
  23. </project>
  24. </xml>

first-sub-module/pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>first-sub-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <dependencies>
  10. <!-- junit 依赖 -->
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>4.10</version>
  15. <scope>test</scope>
  16. </dependency>
  17. <dependency>
  18. <groupId>com.shouke.mvnstudy</groupId>
  19. <artifactId>second-sub-module</artifactId>
  20. <version>1.0.0-SNAPSHOT</version>
  21. </dependency>
  22. <dependency>
  23. <groupId>com.shouke.mvnstudy</groupId>
  24. <artifactId>sub-sub-module</artifactId>
  25. <version>1.0.0-SNAPSHOT</version>
  26. </dependency>
  27. </dependencies>
  28. <parent>
  29. <groupId>com.shouke.mvnstudy</groupId>
  30. <!--父项目id-->
  31. <artifactId>parent-module</artifactId>
  32. <version>1.0.0-SNAPSHOT</version>
  33. </parent>
  34. </project>
  35. </xml>

first-sub-module/sub-sub-module/pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>sub-sub-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <dependencies>
  10. <!-- junit 依赖 -->
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>4.10</version>
  15. <scope>test</scope>
  16. </dependency>
  17. </dependencies>
  18. </project>
  19. </xml>

second-sub-module/pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>second-sub-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <dependencies>
  10. <!-- junit 依赖 -->
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>4.10</version>
  15. <scope>test</scope>
  16. </dependency>
  17. </dependencies>
  18. <parent>
  19. <groupId>com.shouke.mvnstudy</groupId>
  20. <!--父项目id-->
  21. <artifactId>parent-module</artifactId>
  22. <version>1.0.0-SNAPSHOT</version>
  23. </parent>
  24. </project>
  25. </xml>

学习实践

-pl选项应用

  1. # mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl first-sub-module compile
  2. [INFO] Scanning for projects...
  3. [INFO]
  4. [INFO] ------------------------------------------------------------------------
  5. [INFO] Building first-sub-module 1.0.0-SNAPSHOT
  6. [INFO] ------------------------------------------------------------------------
  7. [INFO] ------------------------------------------------------------------------
  8. [INFO] BUILD FAILURE
  9. [INFO] ------------------------------------------------------------------------
  10. [INFO] Total time: 0.219s
  11. [INFO] Finished at: Fri Dec 24 11:20:23 CST 2021
  12. [INFO] Final Memory: 17M/1447M
  13. [INFO] ------------------------------------------------------------------------
  14. [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]
  15. [ERROR]
  16. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
  17. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  18. [ERROR]
  19. [ERROR] For more information about the errors and possible solutions, please read the following articles:
  20. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

-am选项应用

  1. # mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl first-sub-module -am compile
  2. [INFO] Scanning for projects...
  3. [INFO] ------------------------------------------------------------------------
  4. [INFO] Reactor Build Order:
  5. [INFO]
  6. [INFO] parent-module
  7. [INFO] second-sub-module
  8. [INFO] first-sub-module
  9. [INFO]
  10. [INFO] ------------------------------------------------------------------------
  11. [INFO] Building parent-module 1.0.0-SNAPSHOT
  12. [INFO] ------------------------------------------------------------------------
  13. [INFO]
  14. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ parent-module ---
  15. [INFO]
  16. [INFO] ------------------------------------------------------------------------
  17. [INFO] Building second-sub-module 1.0.0-SNAPSHOT
  18. [INFO] ------------------------------------------------------------------------
  19. [INFO]
  20. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
  21. [INFO] Deleting /root/maven-study/second-sub-module/target
  22. [INFO]
  23. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
  24. [debug] execute contextualize
  25. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  26. [INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
  27. [INFO]
  28. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
  29. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  30. [INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
  31. [INFO]
  32. [INFO] ------------------------------------------------------------------------
  33. [INFO] Building first-sub-module 1.0.0-SNAPSHOT
  34. [INFO] ------------------------------------------------------------------------
  35. [INFO]
  36. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ first-sub-module ---
  37. [INFO]
  38. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ first-sub-module ---
  39. [debug] execute contextualize
  40. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  41. [INFO] skip non existing resourceDirectory /root/maven-study/first-sub-module/src/main/resources
  42. [INFO]
  43. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ first-sub-module ---
  44. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  45. [INFO] Compiling 1 source file to /root/maven-study/first-sub-module/target/classes
  46. [INFO] ------------------------------------------------------------------------
  47. [INFO] Reactor Summary:
  48. [INFO]
  49. [INFO] parent-module ..................................... SUCCESS [0.146s]
  50. [INFO] second-sub-module ................................. SUCCESS [0.576s]
  51. [INFO] first-sub-module .................................. SUCCESS [0.346s]
  52. [INFO] ------------------------------------------------------------------------
  53. [INFO] BUILD SUCCESS
  54. [INFO] ------------------------------------------------------------------------
  55. [INFO] Total time: 1.187s
  56. [INFO] Finished at: Fri Dec 24 11:22:06 CST 2021
  57. [INFO] Final Memory: 22M/1096M
  58. [INFO] ------------------------------------------------------------------------

-amd选项应用

对比示例

  1. # mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module compile
  2. [INFO] Scanning for projects...
  3. [INFO]
  4. [INFO] ------------------------------------------------------------------------
  5. [INFO] Building second-sub-module 1.0.0-SNAPSHOT
  6. [INFO] ------------------------------------------------------------------------
  7. [INFO]
  8. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
  9. [INFO]
  10. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
  11. [debug] execute contextualize
  12. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  13. [INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
  14. [INFO]
  15. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
  16. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  17. [INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
  18. [INFO] ------------------------------------------------------------------------
  19. [INFO] BUILD SUCCESS
  20. [INFO] ------------------------------------------------------------------------
  21. [INFO] Total time: 0.976s
  22. [INFO] Finished at: Fri Dec 24 11:21:18 CST 2021
  23. [INFO] Final Memory: 23M/1447M
  24. [INFO] ------------------------------------------------------------------------
  1. # mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module -am compile
  2. [INFO] Scanning for projects...
  3. [INFO] ------------------------------------------------------------------------
  4. [INFO] Reactor Build Order:
  5. [INFO]
  6. [INFO] parent-module
  7. [INFO] second-sub-module
  8. [INFO]
  9. [INFO] ------------------------------------------------------------------------
  10. [INFO] Building parent-module 1.0.0-SNAPSHOT
  11. [INFO] ------------------------------------------------------------------------
  12. [INFO]
  13. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ parent-module ---
  14. [INFO]
  15. [INFO] ------------------------------------------------------------------------
  16. [INFO] Building second-sub-module 1.0.0-SNAPSHOT
  17. [INFO] ------------------------------------------------------------------------
  18. [INFO]
  19. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
  20. [INFO] Deleting /root/maven-study/second-sub-module/target
  21. [INFO]
  22. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
  23. [debug] execute contextualize
  24. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  25. [INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
  26. [INFO]
  27. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
  28. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  29. [INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
  30. [INFO] ------------------------------------------------------------------------
  31. [INFO] Reactor Summary:
  32. [INFO]
  33. [INFO] parent-module ..................................... SUCCESS [0.132s]
  34. [INFO] second-sub-module ................................. SUCCESS [0.536s]
  35. [INFO] ------------------------------------------------------------------------
  36. [INFO] BUILD SUCCESS
  37. [INFO] ------------------------------------------------------------------------
  38. [INFO] Total time: 0.771s
  39. [INFO] Finished at: Fri Dec 24 11:24:13 CST 2021
  40. [INFO] Final Memory: 23M/1447M
  41. [INFO] ------------------------------------------------------------------------

-amd应用示例

  1. # mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module -amd compile
  2. [INFO] Scanning for projects...
  3. [INFO] ------------------------------------------------------------------------
  4. [INFO] Reactor Build Order:
  5. [INFO]
  6. [INFO] second-sub-module
  7. [INFO] first-sub-module
  8. [INFO]
  9. [INFO] ------------------------------------------------------------------------
  10. [INFO] Building second-sub-module 1.0.0-SNAPSHOT
  11. [INFO] ------------------------------------------------------------------------
  12. [INFO]
  13. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
  14. [INFO] Deleting /root/maven-study/second-sub-module/target
  15. [INFO]
  16. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
  17. [debug] execute contextualize
  18. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  19. [INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
  20. [INFO]
  21. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
  22. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  23. [INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
  24. [INFO]
  25. [INFO] ------------------------------------------------------------------------
  26. [INFO] Building first-sub-module 1.0.0-SNAPSHOT
  27. [INFO] ------------------------------------------------------------------------
  28. [INFO]
  29. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ first-sub-module ---
  30. [INFO] Deleting /root/maven-study/first-sub-module/target
  31. [INFO]
  32. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ first-sub-module ---
  33. [debug] execute contextualize
  34. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  35. [INFO] skip non existing resourceDirectory /root/maven-study/first-sub-module/src/main/resources
  36. [INFO]
  37. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ first-sub-module ---
  38. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  39. [INFO] Compiling 1 source file to /root/maven-study/first-sub-module/target/classes
  40. [INFO] ------------------------------------------------------------------------
  41. [INFO] Reactor Summary:
  42. [INFO]
  43. [INFO] second-sub-module ................................. SUCCESS [0.652s]
  44. [INFO] first-sub-module .................................. SUCCESS [0.344s]
  45. [INFO] ------------------------------------------------------------------------
  46. [INFO] BUILD SUCCESS
  47. [INFO] ------------------------------------------------------------------------
  48. [INFO] Total time: 1.100s
  49. [INFO] Finished at: Fri Dec 24 11:24:33 CST 2021
  50. [INFO] Final Memory: 24M/1157M
  51. [INFO] ------------------------------------------------------------------------

嵌套子模块构建

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

修改first-sub-module/pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>first-sub-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <packaging>pom</packaging>
  10. <dependencies>
  11. <!-- junit 依赖 -->
  12. <dependency>
  13. <groupId>junit</groupId>
  14. <artifactId>junit</artifactId>
  15. <version>4.10</version>
  16. <scope>test</scope>
  17. </dependency>
  18. <dependency>
  19. <groupId>com.shouke.mvnstudy</groupId>
  20. <artifactId>second-sub-module</artifactId>
  21. <version>1.0.0-SNAPSHOT</version>
  22. </dependency>
  23. </dependencies>
  24. <parent>
  25. <groupId>com.shouke.mvnstudy</groupId>
  26. <!--父项目id-->
  27. <artifactId>parent-module</artifactId>
  28. <version>1.0.0-SNAPSHOT</version>
  29. </parent>
  30. <modules>
  31. <module>sub-sub-module</module>
  32. </modules>
  33. </project>
  34. </xml>

修改first-sub-module/sub-sub-module/pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>sub-sub-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <dependencies>
  10. <!-- junit 依赖 -->
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>4.10</version>
  15. <scope>test</scope>
  16. </dependency>
  17. </dependencies>
  18. <parent>
  19. <groupId>com.shouke.mvnstudy</groupId>
  20. <!--父项目id-->
  21. <artifactId>first-sub-module</artifactId>
  22. <version>1.0.0-SNAPSHOT</version>
  23. </parent>
  24. </project>
  25. </xml>
  1. # mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl first-sub-module/sub-sub-module -am compile
  2. [INFO] Scanning for projects...
  3. [INFO] ------------------------------------------------------------------------
  4. [INFO] Reactor Build Order:
  5. [INFO]
  6. [INFO] parent-module
  7. [INFO] second-sub-module
  8. [INFO] first-sub-module
  9. [INFO] sub-sub-module
  10. [INFO]
  11. [INFO] ------------------------------------------------------------------------
  12. [INFO] Building parent-module 1.0.0-SNAPSHOT
  13. [INFO] ------------------------------------------------------------------------
  14. [INFO]
  15. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ parent-module ---
  16. [INFO]
  17. [INFO] ------------------------------------------------------------------------
  18. [INFO] Building second-sub-module 1.0.0-SNAPSHOT
  19. [INFO] ------------------------------------------------------------------------
  20. [INFO]
  21. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ second-sub-module ---
  22. [INFO] Deleting /root/maven-study/second-sub-module/target
  23. [INFO]
  24. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ second-sub-module ---
  25. [debug] execute contextualize
  26. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  27. [INFO] skip non existing resourceDirectory /root/maven-study/second-sub-module/src/main/resources
  28. [INFO]
  29. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ second-sub-module ---
  30. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  31. [INFO] Compiling 1 source file to /root/maven-study/second-sub-module/target/classes
  32. [INFO]
  33. [INFO] ------------------------------------------------------------------------
  34. [INFO] Building first-sub-module 1.0.0-SNAPSHOT
  35. [INFO] ------------------------------------------------------------------------
  36. [INFO]
  37. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ first-sub-module ---
  38. [INFO] Deleting /root/maven-study/first-sub-module/target
  39. [INFO]
  40. [INFO] ------------------------------------------------------------------------
  41. [INFO] Building sub-sub-module 1.0.0-SNAPSHOT
  42. [INFO] ------------------------------------------------------------------------
  43. [INFO]
  44. [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ sub-sub-module ---
  45. [INFO]
  46. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ sub-sub-module ---
  47. [debug] execute contextualize
  48. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  49. [INFO] skip non existing resourceDirectory /root/maven-study/first-sub-module/sub-sub-module/src/main/resources
  50. [INFO]
  51. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ sub-sub-module ---
  52. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
  53. [INFO] Compiling 1 source file to /root/maven-study/first-sub-module/sub-sub-module/target/classes
  54. [INFO] ------------------------------------------------------------------------
  55. [INFO] Reactor Summary:
  56. [INFO]
  57. [INFO] parent-module ..................................... SUCCESS [0.148s]
  58. [INFO] second-sub-module ................................. SUCCESS [0.728s]
  59. [INFO] first-sub-module .................................. SUCCESS [0.005s]
  60. [INFO] sub-sub-module .................................... SUCCESS [0.370s]
  61. [INFO] ------------------------------------------------------------------------
  62. [INFO] BUILD SUCCESS
  63. [INFO] ------------------------------------------------------------------------
  64. [INFO] Total time: 1.370s
  65. [INFO] Finished at: Fri Dec 24 11:39:07 CST 2021
  66. [INFO] Final Memory: 22M/1098M
  67. [INFO] ------------------------------------------------------------------------
结论

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

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

修改pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>parent-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <dependencies>
  10. <!-- junit 依赖 -->
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>4.10</version>
  15. <scope>test</scope>
  16. </dependency>
  17. </dependencies>
  18. </project>
  19. </xml>

修改second-sub-module/pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.shouke.mvnstudy</groupId>
  7. <artifactId>second-sub-module</artifactId>
  8. <version>1.0.0-SNAPSHOT</version>
  9. <dependencies>
  10. <!-- junit 依赖 -->
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>4.10</version>
  15. <scope>test</scope>
  16. </dependency>
  17. </dependencies>
  18. </project>
  19. </xml>
  1. # mvn clean -Dautoconfig.skip=true -Dmaven.test.skip=true -pl second-sub-module compile
  2. [INFO] Scanning for projects...
  3. [ERROR] Could not find the selected project in the reactor: second-sub-module -> [Help 1]
  4. [ERROR]
  5. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
  6. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  7. [ERROR]
  8. [ERROR] For more information about the errors and possible solutions, please read the following articles:
  9. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException

如上,提示找不到模块。

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

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

作者:授客
QQ:1033553122
全国软件测试QQ交流群:7156436

Git地址:https://gitee.com/ishouke
友情提示:限于时间仓促,文中可能存在错误,欢迎指正、评论!
作者五行缺钱,如果觉得文章对您有帮助,请扫描下边的二维码打赏作者,金额随意,您的支持将是我继续创作的源动力,打赏后如有任何疑问,请联系我!!!
           微信打赏                        支付宝打赏                  全国软件测试交流QQ群  
              

原文链接:http://www.cnblogs.com/shouke/p/15758382.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号