1、构建工具:
对大部分用户来说,maven是一个用来把源代码构建成可发布的构建的工具。
2、项目管理工具:
对构建工程师和项目经理来说,maven是一个项目管理工具。它除了提供构建的功能,还可以生产报 告,生产Web站点,并能推动工作团队成员间的交流。
3、依赖的范围scope:
a、test:范围指的是测试范围有效,在编译和打包时都不会使用这个依赖。
b、compile:范围值在编译时有效,在编译和打包时都会将依赖存储进去。
c、provided:在编译和测试的过程有效,最后生成war包时不会加入,
如servlet-api,因为tomcat等web容器中已经存在,如果打包进去会冲突。
d、runtime:在运行时有效,在编译时不依赖。如数据库包mysql.jar
e、默认的依赖时compile。
4、mvn常用命令:
mvn compile:编译将.java文件生成.class文件。
mvn test:运行测试。
mvn clean:清空目标文件夹中的内容,如jar/war以及.class文件等。
mvn package:打包。
mvn install:将包发布到仓库中。
5、mvn包的传递依赖:
5、mvn包的传递依赖:
a、对于依赖传递而言,主要是针对compile作用域传递。
b、当依赖级别相同的时候,先依赖那个包,就使用那个包。
c、当依赖级别不同的时候,先依赖层次对端的那个包。
d、如果发生包冲突时,可以排除exclusions依赖.
6、maven聚合与继承:
a、maven聚合:
<modules>
<module>../module1</module>
<module>../module2</module>
<module>../module3</module>
...
</modules>
b、maven继承:将pom中相同的内容放到同一个pom中,如版本定义等。
<parent>
<groupId>..</groupId>
<artifactId>..</artifactId>
<version>..</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
7.maven项目的文件路径结构:
pom.xml
src
main
java
package
resources
test
java
package
resources
target
classes
*.jar