前言:Maven介绍
我们使用maven构建应用环境,因此我们先来简单介绍maven。Maven是什么?如何回答这个问题 要看你怎么看这个问题。 绝大部分Maven用户都称Maven是一个"构建工具":一个用来把源代码构建成可发布的构件的工具。构建工程师和项目经理会说Maven是一个更复杂 的东西:一个项目管理工具。那么区别是什么? 像Ant这样的构建工具仅仅是关注预处理,编译,打包,测试和分发,而 Maven 这样的一个项目管理工具提供了构建工具所提供功能的超集, 除了提供构建的功能,Maven还可以生成报告,生成Web站点,并且帮助推动工作团 队成员间的交流。
Maven目前最新版本是2.1.0. 因为maven2.0的版本与maven1.0相比完全是重新设计的,而且速度比以前更快,所以称为 maven2. 目前很多的开源项目都已经采用maven2构建,足见其流行好用的程度。 注:
一、环境变量
环境设置:%MAVEN_HOME% = D:\Program Files\apache-maven-3.6.3\bin
%MAVEN_HOME% = D:\Program Files\apache-maven-3.6.3\bin
二、本地仓库设置
进入安装目录下的conf修改settings.xml 本地仓库位置
<!--指定本地仓库位置-->
<localRepository>
E:\\BaiduNetdiskWorkspace\\dve-software\\maven-local-repository
</localRepository>
<!--加入镜像路径-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
三、Maven常用命令
maven 命令除了常用的几个,大部分经常记不住,整理一下,方便查询。
maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下,
-D 指定参数,如 -Dmaven.test.skip=true 跳过单元测试;
-P 指定 Profile 配置,可以用于区分环境;
-e 显示maven运行出错的信息;
-o 离线执行命令,即不去远程仓库更新包;
-X 显示maven允许的debug信息;
-U 强制去远程更新snapshot的插件或依赖,默认每天只更新一次。
1. 常用Maven命令
- 创建maven项目:mvn archetype:create
指定 group: -DgroupId=packageName
指定 artifact:-DartifactId=projectName
创建web项目:-D archetype ArtifactId=maven-archetype-webapp - 创建maven项目:mvn archetype:generate
- 验证项目是否正确:mvn validate
- maven 打包:mvn package
- 只打jar包:mvn jar:jar
- 生成源码jar包:mvn source:jar
- 产生应用需要的任何额外的源代码:mvn generate-sources
- 编译源代码: mvn compile
- 编译测试代码:mvn test-compile
- 运行测试:mvn test
- 运行检查:mvn verify
- 清理maven项目:mvn clean
- 生成eclipse项目:mvn eclipse:eclipse
- 清理eclipse配置:mvn eclipse:clean
- 生成idea项目:mvn idea:idea
- 安装项目到本地仓库:mvn install
- 发布项目到远程仓库:mvn:deploy
- 在集成测试可以运行的环境中处理和发布包:mvn integration-test
- 显示maven依赖树:mvn dependency:tree
- 显示maven依赖列表:mvn dependency:list
- 下载依赖包的源码:mvn dependency:sources
- 安装本地jar到本地仓库:mvn install:install-file -DgroupId=packageName -DartifactId=projectName -Dversion=version -Dpackaging=jar -Dfile=path
2. web项目相关命令
- 启动tomcat:mvn tomcat:run
- 启动jetty:mvn jetty:run
- 运行打包部署:mvn tomcat:deploy
- 撤销部署:mvn tomcat:undeploy
- 启动web应用:mvn tomcat:start
- 停止web应用:mvn tomcat:stop
- 重新部署:mvn tomcat:redeplo
- 部署展开的war文件:mvn war:exploded tomcat:exploded
3. 例子(构建项目)
建立一个Java项目
mvn archetype:create -DgroupId=com.codedot -DartifactId=java-project
# 或
mvn archetype:generate -DgroupId=com.codedot -DartifactId=java-project
建立一个web项目
mvn archetype:create -DgroupId=com.codedot -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
生成 Eclipse 项目
普通 Eclipse 项目执行 : mvn eclipse:eclipse
Eclipse WTP 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0
每天都要有所进步!