Maven学习总结

Maven学习总结

一.Maven的基本概念

Maven是一个软件项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型概念,Maven利用中央信息片段能管理一个项目的构建、 告和文档等步骤。

二.常用命令

mvn archetype:generate 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的 站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvn jetty:run 启动jetty服务
mvn tomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类

三.Maven的配置

  1. 设置Maven的环境变量,基本上和设置Jdk环境变量相似,首先设置MAVEN_HOME,再加入Path 。
  2. 修改”settings.xml” 文件,在这个文件中找到d:/work这一行,进行修改。这一行代表了Maven的Jar包仓库的位置。work下放的都是项目所用到的jar包,每个Project都可以共用一个work。
  3. Myeclipse7.5及以上版本本身自带Maven插件。如果使用低版本的Myeclipse需要安装插件,在help菜单中选择software updates,选择find and install,选择search for new features to install-选择new remote site。写入 name:maven URL:http:// m2eclipse.codehaus . org/update/去下载相关jar包和插件。
  4. 在Myeclipse中windows-perferences中,在下图的位置上,查看users settings的路径是否正确。
  5. 建立Maven的project,File–new—other—Java Maven Project。
  6. 然后打开project里pom.xml文件,在这xml文件中添加Maven所依赖的Jar的名称,也就是添加节点。例如:添加大家常用的Struts Jar包
  7. 到发文时为止,环境就算搞定了。接下来要应用Maven来打包Project为大家服务的。
    在cmd中的命令:
    a. mvn eclipse:clean 清除Project中以前的编译的东西,重新再来
    b. mvn eclipse:eclipse 开始编译Maven的Project
    在Myeclipse中的操作:
    a. 选中Maven Project 右击 在Run As中选择Maven clean
    b. 在Myeclipse中,Project—Clean 开始编译
    c. 选中Maven Project 右击 在Run As中选择Maven install
    执行完这几步,如果没发生异常,会在project里生成一个target文件夹,这个文件夹里的东西,就是Maven打包发布的东西。

四.Maven的生命周期

Maven的生命周期是为了对所有的构建过程进行了抽象了,便于统一。
clean(清理)
cleanup(清理所有)
此生命周期旨在给工程做清理工作,它主要包含以下阶段:
pre-clean- 执行项目清理前所需要的工作。
clean- 清理上一次build项目生成的文件。
post-clean- 执行完成项目清理所需的工作.
default(默认)validate- 验证项目是否正确且所有必要的信息都可用。
initialize- 初始化构建工作,如:设置参数,创建目录等。
generate-sources- 为包含在编译范围内的代码生成源代码.
process-sources- 处理源代码, 如过滤值.
generate-resources-process-resources- 复制并处理资源文件,至目标目录,准备打包。
compile- 编译项目中的源代码.
process-classes- 为编译生成的文件做后期工作, 例如做Java类的字节码增强.
generate-test-sources- 为编译内容生成测试源代码.
process-test-sources- 处理测试源代码。
generate-test-resources-process-test-resources- 复制并处理资源文件,至目标测试目录。
test-compile- 将需测试源代码编译到路径。一般来说,是编译/src/test/java目录下的java文件至目标输出的测试classpath目录中。
process-test-classes-test- 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
prepare-package-package- 接受编译好的代码,打包成可发布的格式,如 JAR 。
pre-integration-test-integration-test- 按需求将发布包部署到运行环境。
post-integration-test-verify-install-将包安装到本地仓库,给其他本地引用提供依赖。
deploy-完成集成和发布工作,将最终包复制到远程仓库以便分享给其他开发人员。
site(站点)pre-site- 执行一些生成项目站点前的准备工作。
site- 生成项目站点的文档。
post-site- 执行需完成站点生成的工作,如站点部署的准备工作。
site-deploy- 向制定的web服务器部署站点生成文件。

aven的简单应用
5.1、Maven项目的目录约定
MavenProjectRoot(项目根目录)
|—-src
| |—-main
| | |—-java ——存放项目的.java文件
| | |—-resources ——存放项目资源文件,如spring, hibernate配置文件
| |—-test
| | |—-java ——存放所有测试.java文件,如JUnit测试类
| | |—-resources ——存放项目资源文件,如spring, hibernate配置文件
|—-target ——项目输出位置
|—-pom.xml —-用于标识该项目是一个Maven项目
5.2、手动创建Maven项目,使用Maven编译
 1、创建项目根文件夹,例如Maven01
  

六.修改从Maven中心仓库下载到本地的jar包的默认存储位置

从Maven中心仓库下载到本地的jar包的默认存放在” u s e r . h o m e / . m 2 / r e p o s i t o r y ” 中 , {user.home}/.m2/repository”中, user.home/.m2/repository{user.home}表示当前登录系统的用户目录(如”C:Usersgacl”),如下图所示

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树Java概览Maven基础92016 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月1日
下一篇 2019年6月1日

相关推荐