一、安装maven
1.下载解压到software
apache-maven-3.5.0
2. 配置环境变量
MAVEN_HOME=安装路径
path=%MAVEN_HONE%\bin
cmd验证安装是否成功
C:\Users\Administrator>mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-0
Maven home: C:\software\apache-maven-3.5.0\bin\..
Java version: 1.8.0_144, vendor: Oracle Corporation
Java home: C:\software\Java\jdk1.8.0_144\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
二、创建maven工程
image.png1. web project
mvn archetype:generate -DgroupId=com.guoyasoft -DartifactId=my-app1 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
2. maven project
mvn archetype:generate -DgroupId=com.guoyasoft -DartifactId=my-app2 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
image.png
工程结构
- java project
- maven project
- web project
- web maven project
maven工程结构
image.png根据java类的package能看出,执行代码的根路径是在com文件夹上一层
image.png
maven编译jar包
javac编译弊端:
1.代码很多的时候,编译很复杂
- javac编译后的.class文件,跟.java文件在一起
- 如果要把.class文件全部提取出来,或者全部清掉,很困难
2. 清除构建数据
删除整个target文件夹
## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn clean
clean是独立命令,可以和maven构建生命周期的命令组合使用,比如:
mvn clean compile
mvn clean test
mvn clean package
3. 编译
## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn compile
或
mvn clean compile (推荐)
maven compile和javac的区别
javac | mvn compile |
---|---|
javac命令 | 底层也是javac命令,但还封装了其它功能 |
单个编译 | 编译整个工程 |
.java和.class在一起 | .class文件全部集中到target文件加,与.java隔离 |
手动查找下载jar包 | 自动根据pom.xml的配置查找下载jar包 |
手动给classpath添加jar包路径 | 自动添加jar包路径 |
4. 单元测试
会自动先执行mvn compile,再执行mvn test
## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn test
5. package打包(jar、war、ear)
修改工程根目录的pom.xml文件
web工程名
└─src
└─main
├─resources
└─webapp
└─WEB-INF
└─pom.xml
打成jar包还是war包,在pom.xml中进行设置:
<project >
<modelVersion>4.0.0</modelVersion>
<groupId>com.guoyasoft</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>2.0</version>
</project>
打jar包:
<packaging>jar</packaging>
打war包:
<packaging>war</packaging>
打包命令:
## 1. cmd到工程目录(即pom.xml所在目录)
## 2. 执行maven打包命令
mvn package
网友评论