美文网首页
maven搭建nexus3(操作maven)

maven搭建nexus3(操作maven)

作者: CaptainWhite | 来源:发表于2018-11-13 09:56 被阅读0次

    环境准备:

    系统: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搭建nexus3(操作maven)

          本文链接:https://www.haomeiwen.com/subject/arlkfqtx.html