• 1. Maven使用2018年10月17日
  • 2. 了解Maven安装Maven使用Maven
  • 3. 了解MavenMaven的目标: 使项目构建构成更容易; 提供统一构建系统; 提供高质量的项目信息; 提供开发的最佳实践指南; 能无缝的加入新的特性; 对Maven的错误认识: Maven是一个站点和文档制作工具; Maven扩展了Ant,使其可以下载到各种依赖包; Maven使一系列可以重用的Ant脚本;
  • 4. Maven监管项目生命周期
  • 5. Maven如何工作
  • 6. Maven版本分为Maven1.x和Maven2.x; Maven2完成了对Maven的重写。重写的首要目的是要提供了强大的Java构建和包含API的项目,允许Maven被植入任何地方,尤其是高级别的产品如IDEs、质量工具、报告工具等这些。Maven2构建生命周期的概念正式化,其比Maven更易扩展; Maven3完成了插件解析机制改进,并行构建等等
  • 7. 了解Maven安装Maven使用Maven132
  • 8. 安装Maven寄存于哪里? 如何安装? 下载 解压缩 配置环境变量 新增系统变量M2_HOME 在path中增加 %m2_home% 在Dos下使用命令mvn -version
  • 9. 了解Maven安装Maven使用Maven132
  • 10. Maven主要功能构建项目(Builds) 文档编制(Documentation) 报告(Reporting) 依赖管理(Dependencies) 配置管理(SCMs) 发布管理(Releases)
  • 11. 构建项目Maven可以构建哪些类型的项目: EAR WAR JAR ZIP EJB
  • 12. 使用Maven构建一个JAR项目注意观察生成的项目的目录路径; mvn archetype:create -DgroupId=com.mycompany.ap -DartifactId=my-app 需要修改的地方: -DgroupId= -DartifactId=
  • 13. 目录结构src/main/java Application/Library sources src/main/resources Application/Library resources src/main/filters Resource filter files src/main/assembly Assembly descriptors src/main/config Configuration files src/main/webapps Web application sources src/test/java Test sources src/test/resources Test resources src/test/filters Test resource filter files src/site Site LICENSE.txt Project's license README.txt Project's readme
  • 14. 使用标准目录的好处所有项目的构建必须遵从标准目录结构; 使所有使用Maven管理的项目从目录上看都是一样的; 便于管理,便于协作; 遵从业界统一标准,有助于团队管理;
  • 15. 项目构建的生命周期 (一)validate validate the project is correct and all necessary information is available. generate-sources generate any source code for inclusion in compilation process-sources process the source code, for example to filter any values generate-resources generate resources for inclusion in the package. process-resources copy and process the resources into the destination directory, ready for packaging. compile compile the source code of the project. process-classes post-process the generated files from compilation, for example to do bytecode enhancement on Java classes. generate-test-sources generate any test source code for inclusion in compilation process-test-sources process the test source code, for example to filter any values. generate-test-resources create resources for testing.
  • 16. 项目构建的生命周期 (二)process-test-resources copy and process the resources into the test destination directory. test-compile compile the test source code into the test destination directory test run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed package take the compiled code and package it in its distributable format, such as a JAR.pre-integration-test perform actions required before integration tests are executed. This may involve things such as setting up the required environment. integration-test process and deploy the package if necessary into an environment where integration tests can be run. post-integration-test perform actions required after integration tests have been executed. This may including cleaning up the environment verify run any checks to verify the package is valid and meets quality criteria. install install the package into the local repository, for use as a dependency in other projects locally.deploy done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.
  • 17. pom.xml的介绍开发人员不需要关注pom.xml中的内容; 项目构建和管理人员需要编写pom.xml中的内容; 配置项目之间的依赖关系; 配置项目所需要使用的插件信息:如ejb,javadoc等等;
  • 18. 如何配置一个依赖关系 junit junit 3.8.1 test 配置人员需要考虑使用什么JAR包?版本号是多少?所在生命周期是什么?
  • 19. 如何在Eclipse中使用Maven项目我们使用EclipseIDE开发,如何在Eclipse中使用我们Maven构建完成的项目? 使用Maven创建项目; 从DOS进入到工程目录下,使用命令:mvn eclipse:eclipse 将一个Maven创建成一个EclipseIDE可以识别的项目; 在Eclipse中增加一个lib变量:M2_REPO,此变量指向xxx\xxx\userName\.m2\
  • 20. 给项目配置人员的建议自己先在本地将自己创建的项目创建成为EclipseIDE支持的项目(此过程将激活Maven到本地资源库中查找依赖,如果依赖不存在则从网上的资源库下载,并放置到本地); 项目构建完成之后将下载到新的依赖项目放到本地服务器上; 将原Maven构建成功的项目(不包含Eclipse特有文件:project,classpath文件)放到SVN上;
  • 21. 给开发人员的建议自己从SVN上下载项目,在本地使用mvn eclipse:eclipse命令,创建成EclipseIDE项目; 不允许将EclipseIDE项目中特有文件传入SVN里;
  • 22. 常用的Maven命令生成清除Eclipse项目结构: mvn eclipse:eclipse mvn eclipse:clean 清理(删除target目录下编译内容): mvn clean 打包时跳过测试: mvn package -Dmaven.test.skip=ture 在本地构建项目: mvn install
  • 23. 在本地先清除以前的再构建项目: mvn clean install 在本地构建项目时跳过单元测试: mvn install –Dmaven.test.skip=true 用Jetty 插件启动项目: mvn jetty:run 用Jetty 插件启动项目: mvn jetty:run –Pprod(prod在pom.xml里有配置哪个数据库)
  • 24. thanks!