使用命令创建项目
命令模板:
mvn archetype:generate 固定格式
-DgroupId 组织标识(包名)
-DartifactId 项目名称
-DarchetypeArtifactId maven-archetype-quickstart,创建一个Java Project;
maven-archetype-webapp,创建一个Web Project
-DinteractiveMode 是否使用交互模式
-DarchetypeCatalog=local 离线模式
使用命令:
mvn archetype:generate -DgroupId=com.yu.maven -DartifactId=my-maven-test -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeCatalog=local
BUILD SUCCESS,表示我们构建成功
我们打开这个pom.xml文件
pom文件头部标签
我们这里对这些标签做一个简单的说明:
<modelVersion>:模型版本。maven2.0必须是这样写,现在是maven2唯一支持的版本。
<groupId>:公司或者组织的唯一标志,并且配置时生成的路径也是由此生成,
如:com.tian.trade,maven会将该项目打成的jar包放本地路径:/com/tian/trade。
<artifactId>:本项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的。
<version>:本项目目前所处的版本号。
<packaging>:打包的机制,如pom、jar、maven-plugin、ejb、war、ear、 rar、par,默认为jar。
<name>:项目名称。
<url>:中央仓库地址。
<dependencies>:定义本项目的依赖关系。
<dependency>:每个dependency都对应这一个jar包。一般情况下,
maven是通过groupId、artifactId、version这三个元素值(俗称坐标)来检索该构件,
然后引入你的工程。如果别人想引用你现在开发的这个
项目(前提是已开发完毕并发布到了远程仓库),就需要在他的pom文件中
新建一个dependency节点,将本项目的groupId、artifactId、version写入,
maven就会把你上传的jar包下载到他的本地 。
<scope>:依赖范围。scope包含如下的取值:compile(编译范围)、provided(已提供范围)、
runtime(运行时范围)、test(测试范围)、system(系统范围)。
常用命令
命令 | 释义 |
---|---|
mvn -version/-v | 查看maven的版本及配置信息 |
mvn archetype:create -DgroupId=packageName -DartifactId=projectName | 构建java项目 |
mvn archetype:create -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifactId=maven-archetype-webapp | 创建web项目 |
mvn compile | 编译项目代码 |
mvn package | 打包项目 |
mvn package -Dmaven.test.skip=true | 打包项目时跳过单元测试 |
mvn test | 运行单元测试 |
mvn clean | 清除编译产生的target文件夹内容,可以配合相应命令一起使用,如mvn clean package, mvn clean test |
mvn install | 打包后将其安装在本地仓库 |
mvn deploy | 打包后将其安装到pom文件中配置的远程仓库 |
mvn eclipse:eclipse | 将maven生成eclipse项目结构 |
mvn idea:idea | 将maven生成idea项目结构 |
mvn eclipse:clean | 清除maven项目中eclipse的项目结构 |
mvn site | 生成站点目录 |
mvn dependency:list | 显示所有已经解析的所有依赖 |
mvn dependency:tree | 以树的结构展示项目中的依赖 |
mvn dependency:analyze | 对项目中的依赖进行分析,依赖未使用,使用单未引入 |
mvn tomcat:run | 启动tomcat |
mvn test-compile | 编译测试的内容 |
mvn test -skipping compile -skipping test-compile | 只测试而不编译,也不测试编译 。 |
mvn -e | 显示详细错误 信息. |
mvn -U | 强制更新依赖包 |
mvn -B | 该参数表示让Maven使用批处理模式构建项目 |
mvn clean install -U | 执行mvn库强制更新 |
mvn clean install -pl user-dao | 只对user-dao进行安装。 |
springboot:run | 就是运行Spring Boot项目,对应还有start、stop。 |
mvn jetty:run | 在jetty上运行项目。 |