maven搭建nexus3(操作maven)

环境准备:

系统:centos7

网络:处于内网环境中,需要配置代理

软件包:nexus-3.14.0-04-unix.tar和apache-maven-3.5.0-bin.tar(软件包自己去官网下载即可)

首先安装nexus

把软件包放到/usr/local/目录下解压缩sudo tar -zxvf nexus 会产生两个目录

nexus:设置配置和启动

sonatype-work:存放数据

如果在内网中,需要修改访问地址和端口,就需要在/usr/local/nexus/etc下修改nexus-default.properties

如果不需要,则在/usr/local/nexus/bin下启动nexus3

输入:bash nexus run 启动软件

软件启动完毕后,在浏览器输入localhost:8081,即可进入系统,用户名为admin 密码为admin123,查看仓库

安装maven工具

这里使用的maven工具是apache-maven,我们将其解压到/usr/local目录下,设置其环境变量

export MAVEN_HOME=/usr/local/maven/bin

export PATH=PATH:MAVEN_HOME

然后使用 . /etc/profile 使环境变量生效(如果在全局没办法使用mvn命令,我们可以创建个软连接或者直接

cp /usr/local/maven/bin/mvn /bin),这样我们就可以使用mvn命令了

使用Idea创建mvn项目

这里使用idea创建一个简单的mvn项目进行打包上传,下载等操作

创建项目的流程非常简单,这里不再过多描述了,注意点仅仅是需要设置maven项目的setting文件,在file---》settings--》选择Maven---》设置maven的路径和settings的路径(全部用系统的的maven,不要以idea的)

image

然后打开settings.xml文件,在seetings标签内设置maven包路径,设置nexus的snapshot(镜像版本,一般可以不设置)和release(稳定版)、public(集合多种仓库)

<localRepository>/usr/local/apache-maven-3.5.0/repo</localRepository>

<servers>
        <!--<server>
            <id>snapshot_user</id>
            <username>admin</username>
            <password>admin123</password>
        </server>-->
        <server>
            <id>maven-releases</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
        <server>
            <id>maven-public</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
</servers>
<mirrors>
      <mirror>
        <id>maven-public</id>
        <name>maven-public</name>
          <url>http://localhost8081/repository/maven-public/</url>
        <mirrorOf>*</mirrorOf>
      </mirror>
    </mirrors>

server这里的id要谨记,和pom里面的设置会对应,用户密码是创建的用户的。id记住,名字随意

创建仓库流程如下:

1.点击配置、点击Repositories,然后新建一个Maven(proxy)仓库

2.设置name和url地址

image

3.设置软件代理

点击System,找到HTTP,设置http代理,此代理作用是可以联网下载包

image

4.设置public仓库

把刚才的maven-aliyun添加到public中,设置在central上面,优先选择私有仓库以及aliyun,最后才是国外的网站


image
  1. 关闭匿名访问(防止游客恶意下载你的jar,大量下载会占用流量)


    关闭匿名访问

    把对钩去掉

设置完毕后,我们来配置maven项目的pom文件

1.设置项目头,包括组id(一般是域名),artifactId(项目名),版本,名称(非必须),描述(非必须)

<groupId>com.bh</groupId>
    <artifactId>down_common</artifactId>
    <version>1.0</version>
    <name>down_demo</name>
<description>down demo</description>

2.设置系统配置,例如字体格式,版本等

<properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.7</maven.compiler.source>
      <maven.compiler.target>1.7</maven.compiler.target>
</properties>

3.配置依赖

<dependencies>
      <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.24.1</version>
      </dependency>
</dependencies>

4.配置仓库地址

<repositories>
    <repository>
        <id>nexus_public</id>
        <name>Nexus_public</name>
        <url>http://localhost:8081/repository/maven-public/</url>
      <releases>
          <enabled>true</enabled>
      </releases>
    </repository>
</repositories>

执行下载操作

mvn clean install 就可以从aliyun上下载到nexus,最后到本地local了

执行上传操作

执行上传jar包需在pom.xml文件中进行配置,加入distributionManagement标签。这里的两个repository仓库id对应在settings.xml文件中已经配置完毕

<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Maven Releases</name>
        <url>http://localhost:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>

在这里的id是需要和settings.xml文件的公共仓库id相对应的
然后执行mvn clean deploy命令即可上传jar到我们的私服中

推荐阅读更多精彩内容

  • 简介 概述 Maven 是一个项目管理和整合工具 Maven 为开发者提供了一套完整的构建生命周期框架 Maven...
    闽越布衣阅读 2,264评论 6 37
  • 首先私服是一种衍生出来的特殊的Maven远程仓库,构建私服的好处请看3.5私服 可以帮助大家建立私服的仓库管理软件...
    zlcook阅读 8,546评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 84,416评论 14 122
  • 1. 安装Maven 官网下载maven安装包wget http://mirrors.hust.edu.cn/ap...
    jzjsqrz阅读 368评论 0 2
  • 应用场景之势 人要有未来的场景感,未来的餐饮将兼具会议、超市、基因检测等社交场所功能 如:边聚餐边开会,在餐饮店内...
    冯岚阅读 31评论 0 0