Maven

1.Maven基础

1.特点

依赖管理
一键构建

2.三种仓库

本地仓库
远程仓库(私服)
中央仓库

3.常见命令

Compile 编译项目代码
Test 运行单元测试
Package 打包项目
Install 打包后将其安装在本地仓库
Deploy 打包后将其安装到pom文件中配置的远程仓库
Clean 清除编译产生的target文件夹内容

4.坐标的书写规范及如何得到坐标

坐标的书写规范

<dependency>
	<!-- 只是例子并不存在这样的坐标哦 -->
    <groupId>com.demo</groupId>
    <artifactId>demo</artifactId>
    <version>x.x</version>
    <scope>test</scope>
 </dependency>

1.groupId公司或组织域名的倒序
2.artifactId项目名或模块名
3.version版本号
(4可不写,没写默认为compile)
4.依赖范围
Compile 默认依赖范围,此依赖范围对于编译、测试、运行三种都有效
Test 只对测试有效,在编译主代码和项目运行时,都将无法使用该依赖
Provided 只对编译和测试有效,对运行无效
Runtime 只对测试和运行的classpath有效,对编译的无效

如何得到坐标
https://mvnrepository.com/
中搜索想要的包名字选择版本就行了

2.Maven高级

1.将SSM工程拆分为多个模块开发

就像这样
在这里插入图片描述

通常继承和聚合同时使用。
何为继承?继承是为了消除重复,如果将dao、service、web分开创建独立的工程则每个工程的pom.xml文件中的内容存在重复,比如:设置编译版本、锁定spring的版本的等,可以将这些重复的配置提取出来在父工程的pom.xml中定义。
何为聚合?项目开发通常是分组分模块开发,每个模块开发完成要运行整个工程需要将每个模块聚合在一起运行,比如:dao、service、web三个工程最终会打一个独立的war运行。

2.搭建远程仓库(私服)

公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的maven远程仓库,每个员工的电脑上安装maven软件并且连接私服服务器,员工将自己开发的项目打成jar并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)。私服还充当一个代理服务器,当私服上没有jar包会从互联网中央仓库自动下载,如下图:在这里插入图片描述

使用nexus实现
如果是在自己电脑搭建安装
访问路径: http://localhost:8081/nexus/ (注意检查nexus是否运行,管理–>服务可看)
使用Nexus 内置账户admin/admin123登陆

1.将项目发布到私服

maven 配置文件settings.xml
server部分加入
根据工程的版本号决定上传到哪个宿主仓库
releases 连接发布版本项目仓库
snapshots 连接测试版本项目仓库

<server>
	<id>releases</id>
	<username>admin</username>
	<password>admin123</password>
</server>
<server>
	<id>snapshots</id>
	<username>admin</username>
	<password>admin123</password>
</server>

配置项目pom.xml

<distributionManagement>
	<repository>
		<id>releases</id>
		<url>http://localhost:8081/nexus/content/repositories/releases/</url>
	</repository>
	<snapshotRepository>
		<id>snapshots</id>
		<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
	</snapshotRepository>
</distributionManagement>

执行deploy

2.从私服下载项目

maven会先从本地仓库找,本地仓库没有再从私服找,私服没有再去中央仓库下载,jar包下载成功在私服、本地仓库分别存储一份

不用做什么

3.第三方jar包放入本地仓库和私服

当然不可以直接放在目录下了
参数说明

DgroupId和DartifactId构成了该jar包在pom.xml的坐标,项目就是依靠这两个属性定位。
Dfile表示需要上传的jar包的绝对路径。
Durl私服上仓库的位置,打开nexus——>repositories菜单,可以看到该路径。DrepositoryId服务器的表示id,在nexus的configuration可以看到。
Dversion表示版本信息,
关于jar包准确的版本:包的名字上一般会带版本号,如果没有那可以解压该包,会发现一个叫MANIFEST.MF的文件,这个文件就有描述该包的版本信息

放入本地仓库
----进入jar包所在目录cmd运行
mvn install:install-file -DgroupId=com.demo -DartifactId=demo -Dversion=x.xx.x -Dfile=xxx.jar -Dpackaging=jar

放入私服
maven 配置文件settings.xml
server部分加入

<server>     
	<id>thirdparty</id>  
	<username>admin</username>
	<password>admin123</password>     
</server>

----进入jar包所在目录运行
mvn deploy:deploy-file -DgroupId=com.demo -DartifactId=demo -Dversion=x.xx.x -Dpackaging=jar -Dfile=xxx.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

上传成功后,在nexus界面点击3rd party仓库可以看到这包了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值