maven内部运行原理解析(二)
来源:互联网 发布:道家和佛家的区别知乎 编辑:程序博客网 时间:2024/06/18 12:08
<execution> <id>default-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.7</version> <executions> <execution> <id>default-deploy</id> <phase>deploy</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
篇幅有点长,省略了部分内容。对比biz项目的pom.xml,我们发现effective pom中增加了Super POM中继承过来的一些配置,比如说<sourceDirectory>定义了biz项目的源码路径,以及Lifecycle中各个phase绑定的goal:
[phase] [goal]compile maven-compiler-plugin:2.3.2:compilepackage maven-jar-plugin:2.3.2:jarinstall maven-install-plugin:2.3.1:install... ...
有了effective pom的概念之后,再来看maven构建的输出日志,是不是有点豁然开朗的感觉?
[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------------[INFO] Reactor Build Order: [INFO] [INFO] echo[INFO] echo-api[INFO] echo-biz[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building echo 1.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ echo ---[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/pom.xml to /Users/allstarw/.m2/repository/org/maven/echo/1.0.0/echo-1.0.0.pom[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building echo-api 1.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ echo-api ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/api/src/main/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ echo-api ---[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent![INFO] Compiling 1 source file to /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/classes[INFO] [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ echo-api ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/api/src/test/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ echo-api ---[INFO] No sources to compile[INFO] [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ echo-api ---[INFO] No tests to run.[INFO] Surefire report directory: /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/surefire-reports------------------------------------------------------- T E S T S-------------------------------------------------------Results :Tests run: 0, Failures: 0, Errors: 0, Skipped: 0[INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ echo-api ---[INFO] Building jar: /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/echo-api-1.0.0.jar[INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ echo-api ---[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/echo-api-1.0.0.jar to /Users/allstarw/.m2/repository/org/maven/echo-api/1.0.0/echo-api-1.0.0.jar[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/api/pom.xml to /Users/allstarw/.m2/repository/org/maven/echo-api/1.0.0/echo-api-1.0.0.pom[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building echo-biz 1.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ echo-biz ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/src/main/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ echo-biz ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ echo-biz ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/src/test/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ echo-biz ---[INFO] No sources to compile[INFO] [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ echo-biz ---[INFO] No tests to run.[INFO] Surefire report directory: /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/target/surefire-reports------------------------------------------------------- T E S T S-------------------------------------------------------Results :Tests run: 0, Failures: 0, Errors: 0, Skipped: 0[INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ echo-biz ---[INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ echo-biz ---[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/target/echo-biz-1.0.0.jar to /Users/allstarw/.m2/repository/org/maven/echo-biz/1.0.0/echo-biz-1.0.0.jar[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/pom.xml to /Users/allstarw/.m2/repository/org/maven/echo-biz/1.0.0/echo-biz-1.0.0.pom[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary:[INFO] [INFO] echo .............................................. SUCCESS [0.461s][INFO] echo-api .......................................... SUCCESS [2.581s][INFO] echo-biz .......................................... SUCCESS [0.382s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 3.593s[INFO] Finished at: Wed Jul 06 00:22:50 CST 2016[INFO] Final Memory: 10M/156M[INFO] ------------------------------------------------------------------------
日志的输出十分清楚,分别构建echo,api,biz这三个项目(因为biz项目依赖api项目,因此api项目需要首先构建)。对每个项目构建时,将lifecycle中的phase所对应的goal依次执行。现在你能够看懂maven的输出日志了吧?还有疑问?请留言。
<execution> <id>default-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.7</version> <executions> <execution> <id>default-deploy</id> <phase>deploy</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
篇幅有点长,省略了部分内容。对比biz项目的pom.xml,我们发现effective pom中增加了Super POM中继承过来的一些配置,比如说<sourceDirectory>定义了biz项目的源码路径,以及Lifecycle中各个phase绑定的goal:
[phase] [goal]compile maven-compiler-plugin:2.3.2:compilepackage maven-jar-plugin:2.3.2:jarinstall maven-install-plugin:2.3.1:install... ...
有了effective pom的概念之后,再来看maven构建的输出日志,是不是有点豁然开朗的感觉?
[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------------[INFO] Reactor Build Order: [INFO] [INFO] echo[INFO] echo-api[INFO] echo-biz[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building echo 1.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ echo ---[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/pom.xml to /Users/allstarw/.m2/repository/org/maven/echo/1.0.0/echo-1.0.0.pom[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building echo-api 1.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ echo-api ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/api/src/main/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ echo-api ---[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent![INFO] Compiling 1 source file to /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/classes[INFO] [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ echo-api ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/api/src/test/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ echo-api ---[INFO] No sources to compile[INFO] [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ echo-api ---[INFO] No tests to run.[INFO] Surefire report directory: /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/surefire-reports------------------------------------------------------- T E S T S-------------------------------------------------------Results :Tests run: 0, Failures: 0, Errors: 0, Skipped: 0[INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ echo-api ---[INFO] Building jar: /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/echo-api-1.0.0.jar[INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ echo-api ---[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/api/target/echo-api-1.0.0.jar to /Users/allstarw/.m2/repository/org/maven/echo-api/1.0.0/echo-api-1.0.0.jar[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/api/pom.xml to /Users/allstarw/.m2/repository/org/maven/echo-api/1.0.0/echo-api-1.0.0.pom[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building echo-biz 1.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ echo-biz ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/src/main/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ echo-biz ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ echo-biz ---[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 /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/src/test/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ echo-biz ---[INFO] No sources to compile[INFO] [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ echo-biz ---[INFO] No tests to run.[INFO] Surefire report directory: /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/target/surefire-reports------------------------------------------------------- T E S T S-------------------------------------------------------Results :Tests run: 0, Failures: 0, Errors: 0, Skipped: 0[INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ echo-biz ---[INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ echo-biz ---[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/target/echo-biz-1.0.0.jar to /Users/allstarw/.m2/repository/org/maven/echo-biz/1.0.0/echo-biz-1.0.0.jar[INFO] Installing /Users/allstarw/workspace/own-proj/misc/maven/echo/biz/pom.xml to /Users/allstarw/.m2/repository/org/maven/echo-biz/1.0.0/echo-biz-1.0.0.pom[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary:[INFO] [INFO] echo .............................................. SUCCESS [0.461s][INFO] echo-api .......................................... SUCCESS [2.581s][INFO] echo-biz .......................................... SUCCESS [0.382s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 3.593s[INFO] Finished at: Wed Jul 06 00:22:50 CST 2016[INFO] Final Memory: 10M/156M[INFO] ------------------------------------------------------------------------
日志的输出十分清楚,分别构建echo,api,biz这三个项目(因为biz项目依赖api项目,因此api项目需要首先构建)。对每个项目构建时,将lifecycle中的phase所对应的goal依次执行。现在你能够看懂maven的输出日志了吧?还有疑问?请留言。
阅读全文
0 0
- maven内部运行原理解析(二)
- maven内部运行原理解析(一)
- maven内部运行原理解析(一)
- maven内部运行原理解析(一)
- MFC学习日记二:MFC内部运行原理
- Windows程序内部运行原理
- Windows程序内部运行原理
- WINDOWS程序内部运行原理
- Windows程序内部运行原理
- Windows程序内部运行原理
- Windows 程序内部运行原理
- tomcat内部运行原理浅析
- windows程序内部运行原理
- WinDows程序内部运行原理
- Windows程序内部运行原理
- Windows程序内部运行原理
- Silverlight 运行原理 解析综合版(二)
- AsyncTask 研究二 内部原理
- DevExpress GridControl功能汇集
- Jboss 环境配置与项目部署
- MySQL 主从复制与读写分离概念及架构分析
- Spring MVC 的运行原理
- Apache Maven项目提供的EJB插件详解
- maven内部运行原理解析(二)
- 路由器固件烧写
- eclipse如何使用git
- 著名的网络标准化组织,互联网行业的五大标准组织
- 旋转变换(一)旋转矩阵
- Apache Maven项目提供的JAR插件详解
- 【算法题】涂棋盘
- Java面试【类的初始化+实例化-加强】
- C#中WerServer接口参数规范、访问地址的简单阐述,以及出现的问题