Linux Maven私服安装

Stella981
• 阅读 508

Linux Maven私服安装


前景

我对maven私服其实并不感冒,国内阿里云的镜像已经可以满足日常工作需要,为什么想着去弄maven私服,想想也是件不得已的事情。

由于项目性质从项目外包发展到人力外包,小伙伴的办公场地和环境发生了变化,无网或者部分网络限制的情况也是深恶痛绝。因为项目涉及10个左右的程序,而且都是maven构建,前期都是带笔记本回家搞的,考虑到后期新员工的加入,所以我决定今天来搭建一个maven环境,方便项目使用。

操作系统

redhat 6.4

软件版本

软件

版本

下载

JDK

1.6.0_45

jdk-6u45-linux-x64.bin

MAVEN

3.0.4

apache-maven-3.0.4.tar.gz

NEXUS

nexus-2.5.1-01

nexus-2.5.1-01-bundle.tar.gz

点击下载软件

操作步骤

安装JDK

  1. 用root用户(其他用户也可以)登录服务器,在/opt目录下创建jdk目录。

  2. 将jdk-6u45-linux-x64.bin上传到/opt/jdk目录下。

  3. 解压jdk-6u45-linux-x64.bin。

    ./jdk-6u45-linux-x64.bin
    
  4. 在/ect/profile文件底部,配置JDK环境变量后并保存。

    cd /etc
    vi profile
    
    ## 这是jdk环境变量
    export JAVA_HOME=/opt/jdk/jdk1.6.0_45
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$PATH
    
  5. 使环境变量生效

    source profile
    
  6. 查看JDK是否安装成功。

    java -version
    
    
    java version 1.6.0_45
    Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
    Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
    

安装Maven

  1. 在/opt目录下创建maven目录。

  2. 将apache-maven-3.0.4上传到/opt/maven目录下。

  3. 解压apache-maven-3.0.4

    tar -zxvf apache-maven-3.0.4.tar.gz
    
    ll
    
    drwxr-xr-x. 2 root root  4096 Apr 18 14:10 bin
    drwxr-xr-x. 2 root root  4096 Apr 18 14:10 boot
    drwxrwxrwx. 2 root root  4096 Jan 17  2012 conf
    drwxrwxrwx. 3 root root  4096 Jan 17  2012 lib
    -rw-r--r--. 1 root root 11358 Jan 17  2012 LICENSE.txt
    -rw-r--r--. 1 root root  1007 Jan 17  2012 NOTICE.txt
    -rw-r--r--. 1 root root  2482 Jan 17  2012 README.txt
    
  4. 在/ect/profile文件底部,配置Maven环境变量后并保存。

    export MAVEN_HOME=/opt/maven/apache-maven-3.0.4
    export PATH=${PATH}:${MAVEN_HOME}/bin
    
  5. 使环境变量生效。

    source profile
    
  6. 查看Maven是否安装成功。

    mvn -v
    
    Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800)
    Maven home: /opt/maven/apache-maven-3.0.4
    Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
    Java home: /opt/jdk/jdk1.6.0_45/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix"
    

安装Neuxs

  1. 在/opt目录下创建nexus目录。

  2. 将nexus-2.5.1-01-bundle.tar.gz上传到/opt/maven目录下。

  3. 解压nexus-2.5.1-01-bundle.tar.gz

    tar -zxvf nexus-2.5.1-01-bundle.tar.gz 
    
    ll
    
    drwxr-xr-x. 8 root root 4096 Jun 29  2013 nexus-2.5.1-01
    drwxr-xr-x. 3 root root 4096 Mar  5  2013 sonatype-work
    
  4. 启动nexus服务

    cd nexus-2.5.1-01/bin
    
    ./nexus start
    

    看到下述警告,说明没有启动成功,接着添加用户的执行,这里用到root用户。

    ****************************************
    WARNING - NOT RECOMMENDED TO RUN AS ROOT
    ****************************************
    If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.
    
    export RUN_AS_USER=root
    

    重新启动nexus服务

    ./nexus start
    
    Starting Nexus OSS...
    Started Nexus OSS.
    
  5. 访问http://ip:8081/nexus/。若出现如下页面,代表部署成功。 Linux Maven私服安装

上传本地仓库至私服仓库

这里采取了thirdparty这个仓库,服务器上对应仓库位置为/opt/nexus/sonatypework/nexus/storage/thirdparty

  1. 找到本机maven仓库位置。settings.xml中标签中的地址。这里以作者本机仓库地址为例E:\maven\m2\repository。

  2. 将E:\maven\m2\repository目录下所有内容上传至/opt/nexus/sonatype-work/nexus/storage/thirdparty目录下(等待上传完毕)。

  3. 登录maven私服,admin/admin123。点击Repositories。在3rd party上右键点击Repair Index,查看后台日志/opt/nexus/nexus-2.5.1-01/logs/wrapper.log。

    jvm 1    | 2017-04-19 09:56:16 INFO  [pxpool-1-thread-1]  org.sonatype.nexus.index.NexusScanningListener - Scanning of repositoryID="thirdparty" finished: scanned=4123, added=4123, updated=0, removed=0, scanningDuration=0:00:07.187
    jvm 1    | 2017-04-19 09:56:18 INFO  [pxpool-1-thread-1]  org.sonatype.nexus.index.DefaultIndexerManager - Publishing index for repository thirdparty
    jvm 1    | 2017-04-19 09:56:19 INFO  [pxpool-1-thread-1]  org.sonatype.nexus.tasks.RepairIndexTask - Scheduled task (RepairIndexTask) finished :: Repairing repository index "3rd party" from path / and below. (started 2017-04-19T09:56:08+08:00, runtime 0:00:10.658)
    jvm 1    | 2017-04-19 09:56:19 INFO  [pxpool-1-thread-1]  org.sonatype.nexus.configuration.application.DefaultNexusConfiguration - Applying Nexus Configuration due to changes in [Scheduled Task Configuration]...
    
    如出现上述信息,代表操作完成。Browse Index 和 Browse Storage tab页中有上传的目录结构。
    
  4. 点击3rd party的Repository Path,就会出现你想看到的东西啦。

settings.xml配置

  1. 标签下配置如下内容,其他镜像内容注释掉。

        <mirror>
            <id>nexus-thirdparty</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus thirdparty</name>
            <url>http://ip:8081/nexus/content/repositories/thirdparty/</url>
        </mirror>
    

测试

  1. 复制一份settings.xml,并把本地仓库指向与之前不同的文件目录下。如之前目录为E:\maven.m2\repository,现指定仓库名称为E:\maven.m2\repository1
  2. 在开发工具中重新指定settings.xml的位置。
  3. 在项目的pom.xml中右键maven install。
  4. E:\maven.m2\repository1出现下载的包。如果下载不成功,一是前面的工作没做好,二是可能进行多次下载后,仓库中对应的包下有lastUpdate文件记得删除后重新操作步骤3。
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这