headfirst
maven安装
wget -c \
https://www-us.apache.org/dist/maven/\
maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
tar -zxvf apache-maven-3.6.1-bin.tar.gz
mv apache-maven-3.6.1 /usr/local/
ln -s apache-maven-3.6.1/ maven
cat >> /etc/profile << EOF
# for maven
export M2_HOME=/usr/local/maven
export PATH=\$M2_HOME/bin:\$PATH
EOF
source /etc/profile
maven配置本地仓库
vim /usr/local/maven/conf/settings.xml
<settings>
<!-- Default: ${user.home}/.m2/repository -->
<localRepository>/path/to/local/repo</localRepository>
</settings>
关于pom.xml
远程仓库:地址
modelVersion
:POM
模型版本4.0.0
固定
groupId
:一般指某个公司或者某个组织的某个项目,比如org.springframework
artifactId
:一般指某个具体项目的某个具体模块,比如spring-context
version
:项目的版本
scope范围
Compile
:编译依赖范围,默认就是compile
,在编译,测试,运行都有效
Test
:测试依赖范围,仅测试有效,例如JUnit
Provided
:已提供依赖范围,编译,测试有效,运行时候无效,例如servlet-api
System
:系统依赖范围,使用system
范围的依赖必须通过sytemPath
指定依赖文件的路径。
Import
:导入依赖范围,使用dependencyManagement
时候,可以导入依赖配置
生命周期
maven
拥有三套独立的生命周期:
clean
清理项目
default
构建项目
site
建立项目站点
clean生命周期
-
pre-clean
:执行一些清理前需要完成的工作 -
clean
:清理上一次构建生成的文件 -
post-clean
:执行一些清理后需要完成的工作
default生命周期
validate
initialize
generate-sources
process-sources
generate-resources
process-resources
compile
process-classes
generate-test-sources
process-test-sources
generate-test-resources
test-compile
process-test-classes
test
prepare-package
package
pre-integration-test
integration-test
post-integration-test
integration-test
post-integration-test
verifty
install
deploy
site生命周期
pre-site
site
post-site
site-deploy
mvn命令
mvn compile 编译
mvn clean 清空
mvn test 测试
mvn package 打包
mvn install 把项目安装到本地仓库