【Java架构-包管理工具】-Maven私服搭建-Nexus(三)

本文摘要

Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven私服搭建-Nexus


文章目录

  • 本文摘要
  • 1. Nexus安装
  • 2. Nexus配置
  • 3. Nexus仓库类型
  • 4.发布依赖
    • 4.1 配置仓库用户名密码
    • 4.2 配置上传仓库地址
    • 4.3 上传依赖
    • 4.4 查看Nexus仓库
    • 4.5 下载依赖
      • 4.5.1 setting.xml(mirror)配置
      • 4.5.2 pom.xml(repositories)配置
      • 4.5.3 settings.xml(profiles)配置
  • 6. 安装三方依赖
    • 6.1 安装至本地
    • 6.2 上传至私服


1. Nexus安装

使用Docker进行安装

  • 拉取镜像
    docker pull sonatype/nexus3
  • 启动镜像
    docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

2. Nexus配置

# Jetty section
# 端口,可以修改
# application-port=8081
# application-host=0.0.0.0
# nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
# nexus-context-path=/${NEXUS_CONTEXT}

# Nexus section
# nexus-edition=nexus-pro-edition
# nexus-features=\
#  nexus-pro-feature
# nexus.clustered=false

3. Nexus仓库类型

【Java架构-包管理工具】-Maven私服搭建-Nexus(三)_第1张图片

  • hosted:表示用户自己上传的依赖将会上传至该仓库
  • proxy:表示代理远程仓库地址
  • group:用来组合hosted/proxy仓库,下载依赖将从该仓库下载

4.发布依赖

4.1 配置仓库用户名密码

setting.xml 文件中配置


<server>
  <id>releasesid>
  <username>adminusername>
  <password>admin123password>
server>

<server>
  <id>snapshotsid>
  <username>adminusername>
  <password>admin123password>
server>

4.2 配置上传仓库地址

需要上传至径服所在项目pom.xml文件中配置

<distributionManagement>
  <repository>
    <id>releasesid>
    <url>http://nas:18081/repository/maven-releases/url>
  repository>
  <snapshotRepository>
    <id>snapshotsid>
    <url>http://nas:18081/repository/maven-snapshots/url>
  snapshotRepository>
distributionManagement>

4.3 上传依赖

idea中点击deploy

【Java架构-包管理工具】-Maven私服搭建-Nexus(三)_第2张图片

4.4 查看Nexus仓库

【Java架构-包管理工具】-Maven私服搭建-Nexus(三)_第3张图片

4.5 下载依赖

4.5.1 setting.xml(mirror)配置

该配置方案存在问题:无法拉取SNAPSHOT依赖

<mirrors>
  <mirror>
    
    <id>nexusid>
    
    <mirrorOf>*mirrorOf>
    <name>nexusname>
    
    <url>http://nas:18081/repository/maven-public/url>
  mirror>
mirrors>

4.5.2 pom.xml(repositories)配置

该配置方案存在问题:该种方式只能针对某个项目下载依赖

<repositories>
  <repository>
    <id>nexusid>
    <name>nexusname>
    <url>http://nas:18081/repository/maven-public/url>
    <releases>
      <enabled>trueenabled>
    releases>
    <snapshots>
      <enabled>trueenabled>
    snapshots>
  repository>
repositories>
<pluginRepositories>
  <pluginRepository>
    <id>publicid>
    <url>http://nas:18081/repository/maven-public/url>
    <name>pluginRepositoriesname>
  pluginRepository>
pluginRepositories>

4.5.3 settings.xml(profiles)配置

该种配置方式全局配置,可以根据需求选择配置方案,生产中选择该方式

<profiles>
  
  <profile>
    
    <id>devid>
    <repositories>
      <repository> 
        <id>nexusid> 
        <url>http://nas:18081/repository/maven-public/url> 
        <releases>
          <enabled>trueenabled>
        releases> 
        <snapshots>
          <enabled>trueenabled>
        snapshots>
      repository>
    repositories>
    <pluginRepositories> 
      <pluginRepository> 
        <id>publicid>
        <name>Public Repositoriesname>
        <url>http://nas:18081/repository/maven-public/url>
      pluginRepository>
    pluginRepositories>
  profile>
profiles>

<activeProfiles>
  <activeProfile>devactiveProfile>
activeProfiles>

6. 安装三方依赖

6.1 安装至本地

mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar

6.2 上传至私服

mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8079/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

你可能感兴趣的:(Java架构,java,架构,maven)