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版权协议,转载请附上原文出处链接和本声明。