Loading

搭建maven私服

搭建maven私服

配置环境变量

包括java、maven、nexus

上传相关文件,解压;配置环境变量到profile中

仓库组成

proxy、hosted、group、maven-

  1. proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,
    这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。   
  2. Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。
    比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里,一般用来存放公司自己的jar包;
  3. Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom
    中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存,
    当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
  4. maven-public: maven-central、maven-release和maven-snapshot三个库的合集。
  5. maven-release: 用来存放release版本的jar包。
  6. maven-snapshot: 用来存放snapshot版本的jar包。

上传jar到私服

认证

本地maven的settings.xml中找到server标签,添加认证的配置

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

本地项目的pom文件中添加私服的地址

<distributionManagement>
    <repository>
        <!--此id要与setting.xml里面server的id对应-->
        <id>releases</id>
        <name>releases Repository</name>
        <url>http://192.168.xx.xx:8888/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>snapshots</name>
        <url>http://192.168.xx.xx:8888/repository/maven-snapshots/</url>
        <!-- URL可以点击仓库查看详情获取 -->
    </snapshotRepository>
</distributionManagement>

发布项目到maven私服

步骤: clean --> deploy

如果pom.xml上版本是1.1-SNAPSHOT则会deploy到maven-snapshot,如果是1.1.RELEASE则会deploy到maven-release

打包时跳过单元测试

<!-- 打包跳过测试-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <configuration>
        <skipTests>true</skipTests>
    </configuration>
</plugin>

注意: maven仓库的Deployment policy一定要设置成allow redeploy,否则会上传失败。

从私服下载jar包

添加仓库地址

<repositories>
    <repository>
        <id>releases</id>
        <name>maven-public</name>
        <url>http://192.168.xx.xx:8888/repository/maven-public/</url>
        <snapshots>
        	<enabled>true</enabled>
        </snapshots>
        <releases>
        	<enabled>true</enabled>
        </releases>
    </repository>
</repositories>

针对单个项目,这个可以添加到项目的pom.xml文件里,如果很多项目都需要可以添加到setting.xml文件中

项目中添加依赖

示例:

<dependency>
    <groupId>com.narui</groupId>
    <artifactId>kafka-spring-boot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
posted @ 2022-09-25 17:13  流火无心  阅读(272)  评论(0编辑  收藏  举报