《果然新鲜》电商项目(12)- Maven私服仓库使用
Posted IT老刘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《果然新鲜》电商项目(12)- Maven私服仓库使用相关的知识,希望对你有一定的参考价值。
文章目录
1. 常用的两种Maven仓库
我们知道,一个项目如果需要依赖其他第三方的工程,比如要依赖fastjson,则需要在maven配置文件里面配置相关的依赖,但是这种依赖是直接从远程中心仓库里依赖过来的。其实依赖相关的工程可以分为“远程依赖”和“本地私服依赖”
下面来讲解在有私服的情况下,如何实现jar包的上传与下载?
2. 配置Maven仓库
2.1.创建私服仓库
下面讲解创建私服仓库的步骤:
step1.创建仓库,点击Create repository
:
step2.然后选择maven2(hosted)然后输入仓库名称(test-release
):
step3.在version policy中选择这个仓库的类型,这里选择release
:
在version policy
中选择这个仓库的类型,这里选择release
,在Deployment policy
中选择Allow redeploy
(这个很重要).
step5. 点击创建仓库,自动刷新界面后,可以在界面看到,创建仓库成功:
2.创建私账号
step1.点击左侧菜单栏的Users
菜单,然后点击Create local user
:
我这里创建了一个用户,账号密码都是:bruce
step2.创建了一个用户,账号密码都是「bruce」:
step3.状态选择激活,并赋予所有权限:
step4.点击Create local user
,自动刷新页面后,可以看到产生了新的用户bruce:
3.配置本地maven仓库
前面对于maven私服仓库配置都完成好了,下面还需要配置本地PC的Maven安装包的解压路径下的settings.xml文件,新增本地私服的用户名和密码:
<servers>
<server>
<id>test-release</id>
<username>bruce-release</username>
<password>release</password>
</server>
</servers>
4.创建一个Maven工程上传依赖到私服
创建一个maven工程,并且打包到maven私服。
step1. 获取远程仓库的地址,具体步骤如下(其实也可以直接在本地Maven的settings.xml文件配置):
step2. 获取URL后,配置maven信息(注意下面的版本号不可以SNAPSHOT结尾 ,否则deploy会失败):
相关配置
<?xml version="1.0" encoding="UTF-8"?>
<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.bruce.maven.jar.test</groupId>
<artifactId>maven-jar-test</artifactId>
<version>1.0-RELEASE</version>
<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
<!--指定仓库地址 -->
<distributionManagement>
<repository>
<!--此名称要和.m2/settings.xml中设置的ID一致 -->
<id>test-release</id>
<url>http://192.168.10.130:8081/repository/test-release/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--发布代码Jar插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--发布源码插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
mvn deploy
上传jar包可以使用命令mvn deploy
或者直接在IDEA可视化窗口里直接发布,如下
在控制台,可以看到上传到maven私服成功:
点击“Search” ->“Maven”,可以看到maven工程上传成功:
里面的内容如下:
关于上面的md5和sha1:
用比较文件hash值的方法可以知道文件是否改变,文件hash又叫文件签名,文件中哪怕一个bit位被改变了,文件hash就会不同。比较常用的文件hash算法有MD5和SHA-1。
5.测试私服拉取依赖
新建一个maven工程,指定私服地址
<repositories>
<repository>
<id>test-release</id>
<url>http://192.168.10.130:8081/repository/test-release/</url>
</repository>
</repositories>
依赖私服中的JAR
<dependency>
<groupId>com.bruce.maven.jar.test</groupId>
<artifactId>maven-jar-test</artifactId>
<version>1.0-RELEASE</version>
</dependency>
本地setting指向maven私服地址
<mirror>
<id>central</id>
<name>internal nexus repository</name>
<url>http://192.168.10.130:8081/repository/maven-central/</url>
<mirrorOf>*</mirrorOf>
</mirror>
6.其它知识点
6.1.配置Maven远程仓库
其实还可以配置Maven私服的远程仓库的,具体如下:
step1.点击maven-central如下:
step2.进入中心仓库后,可以配置远程仓库地址(Remote storage),这里可以配置阿里云的地址,可以加速包的下载:
6.2.如何发布果然新鲜项目的微服务接口
注意点:
- 依赖的父工程版本号不可以SNAPSHOT结尾。
- 如果发布的工程里面依赖了其它的工程,那么被依赖的工程必须先在Maven私服里面发布。
- 为了方便,项目里Maven配置私服的url地址可以在Maven安装目录下的setttings.xml里配置。
7. 总结
以上是关于《果然新鲜》电商项目(12)- Maven私服仓库使用的主要内容,如果未能解决你的问题,请参考以下文章