什么是maven
- 可以用来编译代码,编译的这个阶段需要依赖一些java包,所有maven可以用来管理依赖。
- 用来构建项目,构建的前提是项目的结构符合maven项目的结构,构建其实就是把编译后的内容复制到一个新的目录结构,包括:
- 把源代码目录(Sources Root)下的java代码(编译成字节码)和配置文件,放到war包的WEB-INF/classes下。
- 把原来webapp/WEB-INF下的内容原封不动地拷贝到war包下的WEB-INF。
- 把编译过程中依赖的jar包(pom.xml中引入的那些dependency),放到war包的WEB-INF/classes/lib下面。
- 可以用来上传war包,执行ssh命令,如wagon插件。
为什么打包的时候要mvn clean package?
- maven 有三个生命周期,clean属于clean周期,package属于package周期,maven命令的结构是
mvn 周期阶段名:阶段goal [周期阶段名:阶段goal ] -Pprofileid参数 -DpropertyName=propertyValue,如mvn clean package -Psit maven.test.skip=true(-DskipTests),表示先执行clean周期的clean之前的阶段,再执行build周期package之前的阶段,并且执行maven构建的时候,profile选择id为sit的,pom属性值maven.test.skip设置为true。
maven的父POM是怎么回事?
- 存在父POM是为了使用maven更简便,父POM引入的依赖以及构建配置,当前pom会直接继承,无需再次配置。
- 所有的pom都有父POM,没有显式设置的,maven会默认加上一个父POM,查看项目实际pom的命令是
mvn help:effective-pom
依赖war包是什么情况?
依赖war包的效果是把该war包的内容继承到当前war包,当然,新的war包内容优先级更高,会覆盖同名的文件
本文详细介绍了Maven在项目构建中的作用,包括代码编译、依赖管理、WAR包构建及上传。解释了Maven生命周期、父POM概念及其如何简化配置,以及WAR包依赖的原理。
3662

被折叠的 条评论
为什么被折叠?



