Usagemaven的好处: Usagemaven好处.png

大型项目的好处,建立一个父项目,各组或部门可以模块Development,不用Pull整个项目进行Development。

Createmaven项目说明: Create项目说明.png

maven项目结构: maven项目结构.png

MavenCommon Commands: 1、一键Build项目Command:

mvn tomcat:run

注意:该CommandUsage的是tomcat插件进行Run的,不需要单独Installation Configurationtomcat。

2、清理Compile好后的File(targetFile夹及里面所有的File):

mvn clean

3、Compile并Run了main里面的Code(只Compilemain主File里面的javaCode,test里面的javaCode不Compile不Compile):

mvn compile

4、Compile并Run了test里面的Code(只Compiletest里面的javaCode,main里面的javaCode不Compile):

mvn test

5、Package,并将包放到tagerFile夹下面。打成war或jar名称由POMFile里面的这3个标签值决定: 例如Package成这个名字:HelloWorld-0.0.2-SNAPASHOT.war HelloWorld —打成包的名字 0.0.2-SNAPASHOT —Version war —什么Type的包

mvn package

6、把项目Publish到本地仓Library

mvn install

同时Run了mvn compile、mvn test、mvn package、mvn install、mvn deployCommand。

7、jar或war包Publish到私服上

mvn deploy

maven生命周期有三种: 1、clean生命周期:clean 2、default生命周期:compile、test、package、install、deployCommand 3、site生命周期:site(生成项目的文档说明)

不同的生命周期,Command可以同时Run。

mavenDependency范围: scope范围.png complie

provided:Compile(complie)时需要、Test时也需要、Run时不需要,Package时不需要

runtime:例如:Database驱动包

test:Compile时不需要,Test时需要、Run时不需要

maven添加插件: 添加tomcat插件修改端口和Path.png

常见Problem: jdkInstallation有Problem.png 出现该提示表示jdkInstallation有Problem,重新Installation即可。

maven整体模型也就是上面说的内容: maven概念模型.png

VersionConflict解决原则:

1、Path近者原则(比如2个坐标中有不同Version的相同的jar包,自己在加入要Usage的Version的这个名称的坐标)

2、第一声明有限原则(比如2个坐标,谁排在pom.xmlFile的前面就用谁的)

3、排除原则.(将名字和组织加入到exclusion中) 坐标排除.png

4、VersionLock定 定义一个Version,Lock定多个同一Version的.png

谁先传递Lock定的Version,就用这个。 可以同时Lock定多个Version

Lock定Version里面Usage${sprint.verion}

注意上面Lock定了,坐标里面的version就没有了,可以去除,就算不去除也没有了。