Maven仓库概念:

Maven主要是把其他地方的jar包下载到本地仓库,供使用。
Maven配置本地仓库:

配置好这两个地方:目录创建好,修改IDEA的maven路径。使用默认路径的本地仓库就创建好了。
想要使用指定路径的maven仓库,需要配置环境变量,具体百度。
Maven的常用命令:

clean,清空package包
test,调用插件jutil执行测试类并生成测试报告(测试报告不支持中文)
package,打包成jar项目或者war项目
Maven常见的配置说明:
<!--maven坐标--> <groupId>cn.itcast.parent</groupId> 坐标 <artifactId>itcast_parent</artifactId> 工程名 <version>1.0-SNAPSHOT</version> 版本号
<!--聚合:父工程管理子工程的发布打包(打包父工程的时候子工程也会打包)-->
<modules>
<module>zi_01</module>
<module>zi_02</module>
<module>zi_03</module>
<module>zi_test04</module>
</modules><!--打包模式--> <packaging>pom</packaging> 参数:pom,war,jar
<!--Maven显示的名字--> <name>zi_02 Maven Webapp</name>
<!--配置版本管理-->
<properties>
<junit.version>4.13.2</junit.version>
<mysql-connector-java.version>8.0.21</mysql-connector-java.version>
</properties>依赖:
<dependencyManagement> 依赖管理,如果没有管理,子工程继承父工程所有依赖
<dependencies> 依赖配置
<!--junit测试依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
</dependency>
</dependencies>
</dependencyManagement>Maven的插件依赖继承:
依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
依赖父工程,父工程指定版本号,子工程不用写 <version>3.1.0</version>。
如果子工程需要特殊版本,需要单独指定 <version>3.1.0</version>,采用就近原则。
继承:子工程继承父工程pom.xml配置。
Maven的版本管理,依赖管理,排除依赖
依赖管理:父工程引入依赖管理,子工程只取用到的进行使用.
排除依赖:
<dependency>
<groupId>cn.itcast.zi_03</groupId>
<artifactId>zi_03</artifactId>
<version>1.0-SNAPSHOT</version>
<!---->
<exclusions>
<exclusion>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</exclusion>
</exclusions>
</dependency>版本管理:
<!--配置版本管理-->
<properties>
<junit.version>4.13.2</junit.version>
<mysql-connector-java.version>8.0.21</mysql-connector-java.version>
</properties>Maven的聚合:
如果有1000个子工程,打包要先打父类包到maven库再打子类包到maven库,重复1000次。不合理。所以在给父类打包(install,发布版本)的时候采用聚合的方式,会将modules模块下的所有子项目都进行打包并发布。
<!--聚合:父工程管理子工程的发布打包(打包父工程的时候子工程也会打包)-->
<modules>
<module>zi_01</module>
<module>zi_02</module>
<module>zi_03</module>
<module>zi_test04</module>
</modules>版权声明:本文为RZH_long原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。