Maven极简入门

Maven项目管理

在这里插入图片描述

Maven入门:

安装地址:http://maven.apache.org/download.cgi
在这里插入图片描述
配置完后可以ctrl + r 进入cmd输入命令 mvn -v,如果有输出版本信息,则表示成功配置:
在这里插入图片描述

Maven的优点:

在这里插入图片描述
在这里插入图片描述
如果是普通的SSM项目,在项目内需要配置很多jar包,项目的体积本来只需要几k保存,添加上jar包会达到十几M的大小
在这里插入图片描述
本地仓库的位置默认在用户目录下的.m2下:

Maven中pom.xml依赖结构:

依赖是什么?就是jar包,只不过使用maven,jar不用包含再项目里,而是从本地仓库里链接过来用

<!---->
<!--最外层用dependencies包围(本地寻找)-->
	<dependencies>
		<!--每个依赖用dependency包围-->
		<dependency>
			<!--由公司/组织名或者包名(groupId) + 项目名/子项目名(artifactId) + 版本号(version),每个jar包都要的信息,这样maven才能够定位到jar包的位置,
			、具体名称都是什么需要从阿里云上查看-->
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-servlet-api</artifactId>
			<version>7.0.47</version>
			<!--除了定位信息,还可以添加scope作用域便签-->
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-jsp-api</artifactId>
			<version>7.0.47</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

因为maven通过坐标获得本地仓库的jar位置,所以再pom.xml中:

在这里插入图片描述
如果要修改仓库的默认位置,到maven解压目录下conf文件中的settings.xml:
在settings标签内加入:

<localRepository>D:/repository</localRepository>
Maven三种仓库:

阿里云仓库:https://maven.aliyun.com/mvn/search
使用阿里云的仓库虽然下载快,但是有时候更新补全,最后还是要到maven维护的仓库下载

在这里插入图片描述

配置阿里云:

在这里插入图片描述

<mirror>
    <id>alimaven</id>
	<name>aliyun maven</name>
	<mirrorOf>central</mirrorOf>
	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

maven构建项目命令(需要先配置bin路径到Path下)并运行在tomcat(内置):
项目里首先需要有pom.xml(maven的坐标文件)
mvn tomcat:run
运行完毕后再项目目录下会生成一个target文件

Maven常用命令:

在这里插入图片描述
在这里插入图片描述

关于maven命令的执行顺序问题:

如果执行了test,则mvn会自动执行compile、test-compile、test
如果执行了install,则所有命令都会顺序执行
如果执行了compile,则只会执行compile,不会执行其他命令

maven中的scope标签:

这个标签的作用再解决多个jar包冲突时可用的解决方案
provided:在运行,测试有效,在打包时不会将jar包加入到项目里,这样可以解决tomcat包的冲突。
其他值的作用如下所示:
在这里插入图片描述

Maven 模块化开发:

Maven支持项目的继承结构,子项目可以使用父项目中pom.xml配置的依赖:
在这里插入图片描述
如何实现?
只要在父项目中加入:

	<modules>
		<module>子项目名称</module>
	</modules>
Maven中的依赖冲突:

在这里插入图片描述
父项目定义的版本号子项目可以修改,这样是不利于管理的,可以在父项目中锁定版本号:
在这里插入图片描述
dependencyManagement标签内容如下所示:
只要将依赖的内容原封不动的写在里面就可以了,会根据名称锁定版本号,不会真正的引入jar包,导入jar包还要使用独立的dependencies标签:

<dependencyManagement>
	<dependencies>
		<groupId></groupId>
		<artifactId></artifactId>
		<version></version>
	</dependencies>
</dependencyManagement>
发布了68 篇原创文章 · 获赞 12 · 访问量 5201

猜你喜欢

转载自blog.csdn.net/qq_40963076/article/details/105111921