maven

本文详细介绍了Maven的项目发布方式,包括使用Eclipse发布、手动复制到Tomcat及导出WAR包。同时,文章深入讲解了Maven的概览、项目结构、依赖管理、镜像配置、坐标概念以及三级仓库结构。此外,还涵盖了Eclipse集成Maven插件的步骤、创建Java和Web项目的过程,以及项目聚合和继承的应用。
摘要由CSDN通过智能技术生成

一、项目的发布方式

1.使用eclipse发布

在这里插入图片描述
只是开发中使用

项目上线时不会使用

2.copy webRoot包到tomcat/webapps里面

缺点:非WEB-INF/lib里面的包无法发布到项目里面
如jstl

3.使用工具导war包

在这里插入图片描述

01【掌握】maven概述

1,定义
1,Maven 作为 Apache 的一个开源项目,旨在给项目管理提供更多的支持,它最早的意图只是为了给 apache 组织的几个项目提供统一的开发、测试、打包和部署,能让开发者在多个项目中方便的切换。
2,Maven 中最值得称赞的地方就是使用了标准的目录结构和部署。

3,在多个开发团队环境的情况下,Maven可以设置标准。由于大部分的项目设置简单可重复使用,使使Maven开发容易,创建报告,检查,生产和测试完全自动化设置。
4,maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。
5,maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。

2,maven可以让项目与项目之间有关系

关系就是依赖

以前的做法
如项目A需要项目B里面的类
把项目B打成jar包放到A的lib里面去

3,如果上一个版本的spring jar包有bug要更新如何办
解决方法:把所有和spring相关的版本删除,再添加新的版本

存在问题:以前的spring的依赖包如
jackson
log4j
等等,这些包的版本如法得知道要更新什么版本

4,使用maven解决上面问题

5,基本原理

在这里插入图片描述

6,镜像
在这里插入图片描述
mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。
此时,B Repository被称为A Repository的镜像。如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都能够从它的镜像中获取。
< mirrors/>是镜像列表,是maven从远程仓库里下载构件的一组服务器镜像。镜像能减轻中央maven库的负载,也能突破代理等的网络环境的限制,每个仓库都有一个ID,而mirror需要和仓库的ID对应。
7,坐标
jar包名字的组成部分是什么
spring-mvc-4.3.17.jar
jar名 项目名
版本号

生活中的坐标作用:

Maven里面基础的坐标

G-groupId
A -artifactId
V --version

8,三级仓库结构
(1)远程公用仓库
Maven 内置了远程公用仓库: http://repo1.maven.org/maven2 这个公用仓库也叫中央仓库是由 Maven 自己维护,包好了世界上大部分流行的开源项目构件。
https://mvnrepository.com
(2)内部中央仓库
也称私有共享仓库(私服)。一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可以作为公用类库镜像缓存,减少在外部访问和下载的频率。
(3)本地仓库
Maven 会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,通常默认在 $user.home/.m2/repository 下。

02【掌握】eclipse集成maven插件

1.下载

http://maven.apache.org/download.cgi
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.解压
在这里插入图片描述

3.目录说明
在这里插入图片描述
bin 要配置环境变量的命令地址
boot 启动jar包 了解
conf 配置文件[重点]
lib 依赖包

4.配置maven的环境变量
在这里插入图片描述
在这里插入图片描述

测试
mvn -version
在这里插入图片描述

5.配置本地仓库

D:\DevTools\server\apache-maven-3.6.0\conf

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

6.配置镜像
在这里插入图片描述

<!-- 配置阿里云镜像-->
	 <mirror>  
	  <id>alimaven</id>  
	  <name>aliyun maven</name>  
	  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
	  <mirrorOf>central</mirrorOf>          
	</mirror>  

7.Maven项目的JDK配置
在这里插入图片描述

	<profile>  
		<id>jdk1.8</id>  
		<activation>  
			<activeByDefault>true</activeByDefault>  
			<jdk>1.8</jdk>  
		</activation>  
		<properties>  
			<maven.compiler.source>1.8</maven.compiler.source>  
			<maven.compiler.target>1.8</maven.compiler.target>  
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
		</properties>  
	</profile>

8.在eclipse下安装插件
在这里插入图片描述
在这里插入图片描述

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

9.修改jdk的配置

在这里插入图片描述

在这里插入图片描述

03【掌握】eclipse下创建java项目

1.创建Maven项目
在这里插入图片描述
在这里插入图片描述

2.设置GAV坐标
在这里插入图片描述

3.Maven java项目目录说明
在这里插入图片描述
src/main/java 存放java代码
src/main/resouces 存放 配置文件的
src/test/java 存放测试的java的代码
src/test/resources 存放测试的配置文件

src:是以上四个目录的集合
target:插件和编译后的目录

pom.xml
|–对项目需要的插件和依赖的配置

4.导入一些简单的依赖

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
	http://maven.apache.org/xsd/maven-
	4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.sxt</groupId>
	<artifactId>01_maven_hello</artifactId>
	<version>0.0.1-SNAPSHOT</version>


	<!-- 声明依赖的配置 -->
	<properties>
		<spring.version>4.3.7.RELEASE</spring.version>
		<mybatis.version></mybatis.version>
		<servlet.version>3.1.0</servlet.version>
	</properties>

	<!-- 配置依赖 -->
	<dependencies>
		<!-- 配置spring-bean的依赖 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${
   spring.version}</version>
			<!-- 排除commons-logging的包 -->
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- 引入servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>${
   servlet.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- 引入jsp -->

	</dependencies>

</project>

5.排除依赖jar包
在这里插入图片描述

6.GAV坐标的再次说明
G–groupid 组织ID
A- artifactId 项目名
V- version 项目版本
scope
|-- compile 默认的编译时有效
|-- provided 在项目打包时不会被加入war包里
|-- runtime 运行时有效
|-- system 如果maven里面没有需要的jar包那可以使用本地的包要结合systemPath
|-- systemPath

7.引入本地包

<dependency>
			<groupId>commons-carrent</groupId>
			<artifactId>commons-carrent</artifactId>
			<version>2.0</version>
			<scope>system</scope>
			<systemPath>D:\workspace-sts\1129adv\01_maven_hello\lib\commons-
			carrent.jar</systemPath>
		</dependency>

8.引入其它项目
创建Maven项目
在这里插入图片描述

引入
在这里插入图片描述
9.总结
每一个Maven项目都有gav坐标
目地是为了上其它项目能进行依赖

04【掌握】eclipse下maven项目聚合

1.项目的继承1

1.创建01_maven_parent的Maven项目
打包形式
packaging :pom
在这里插入图片描述

加入依赖

<!-- 加入依赖 -->
	<dependencies
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张子又

感觉有用就打赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值