Linux Maven私服安装
前景
我对maven私服其实并不感冒,国内阿里云的镜像已经可以满足日常工作需要,为什么想着去弄maven私服,想想也是件不得已的事情。
由于项目性质从项目外包发展到人力外包,小伙伴的办公场地和环境发生了变化,无网或者部分网络限制的情况也是深恶痛绝。因为项目涉及10个左右的程序,而且都是maven构建,前期都是带笔记本回家搞的,考虑到后期新员工的加入,所以我决定今天来搭建一个maven环境,方便项目使用。
操作系统
redhat 6.4
软件版本
软件
版本
下载
JDK
1.6.0_45
MAVEN
3.0.4
NEXUS
nexus-2.5.1-01
点击下载软件
操作步骤
安装JDK
-
用root用户(其他用户也可以)登录服务器,在/opt目录下创建jdk目录。
-
将jdk-6u45-linux-x64.bin上传到/opt/jdk目录下。
-
解压jdk-6u45-linux-x64.bin。
./jdk-6u45-linux-x64.bin -
在/ect/profile文件底部,配置JDK环境变量后并保存。
1cd /etc 2vi profile 3 4## 这是jdk环境变量 5export JAVA_HOME=/opt/jdk/jdk1.6.0_45 6export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 7export PATH=$JAVA_HOME/bin:$PATH -
使环境变量生效
source profile -
查看JDK是否安装成功。
1java -version 2 3 4java version 1.6.0_45 5Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 6Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
安装Maven
-
在/opt目录下创建maven目录。
-
将apache-maven-3.0.4上传到/opt/maven目录下。
-
解压apache-maven-3.0.4
1tar -zxvf apache-maven-3.0.4.tar.gz 2 3ll 4 5drwxr-xr-x. 2 root root 4096 Apr 18 14:10 bin 6drwxr-xr-x. 2 root root 4096 Apr 18 14:10 boot 7drwxrwxrwx. 2 root root 4096 Jan 17 2012 conf 8drwxrwxrwx. 3 root root 4096 Jan 17 2012 lib 9-rw-r--r--. 1 root root 11358 Jan 17 2012 LICENSE.txt 10-rw-r--r--. 1 root root 1007 Jan 17 2012 NOTICE.txt 11-rw-r--r--. 1 root root 2482 Jan 17 2012 README.txt 12 -
在/ect/profile文件底部,配置Maven环境变量后并保存。
1export MAVEN_HOME=/opt/maven/apache-maven-3.0.4 2export PATH=${PATH}:${MAVEN_HOME}/bin -
使环境变量生效。
source profile -
查看Maven是否安装成功。
1mvn -v 2 3Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800) 4Maven home: /opt/maven/apache-maven-3.0.4 5Java version: 1.6.0_45, vendor: Sun Microsystems Inc. 6Java home: /opt/jdk/jdk1.6.0_45/jre 7Default locale: en_US, platform encoding: UTF-8 8OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix" 9
安装Neuxs
-
在/opt目录下创建nexus目录。
-
将nexus-2.5.1-01-bundle.tar.gz上传到/opt/maven目录下。
-
解压nexus-2.5.1-01-bundle.tar.gz
1tar -zxvf nexus-2.5.1-01-bundle.tar.gz 2 3ll 4 5drwxr-xr-x. 8 root root 4096 Jun 29 2013 nexus-2.5.1-01 6drwxr-xr-x. 3 root root 4096 Mar 5 2013 sonatype-work -
启动nexus服务
1cd nexus-2.5.1-01/bin 2 3./nexus start看到下述警告,说明没有启动成功,接着添加用户的执行,这里用到root用户。
1**************************************** 2WARNING - NOT RECOMMENDED TO RUN AS ROOT 3**************************************** 4If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script. 5 6export RUN_AS_USER=root重新启动nexus服务
1./nexus start 2 3Starting Nexus OSS... 4Started Nexus OSS.
上传本地仓库至私服仓库
这里采取了thirdparty这个仓库,服务器上对应仓库位置为/opt/nexus/sonatypework/nexus/storage/thirdparty
-
找到本机maven仓库位置。settings.xml中<localRepository>标签中的地址。这里以作者本机仓库地址为例E:\maven\m2\repository。
-
将E:\maven\m2\repository目录下所有内容上传至/opt/nexus/sonatype-work/nexus/storage/thirdparty目录下(等待上传完毕)。
-
登录maven私服,admin/admin123。点击Repositories。在3rd party上右键点击Repair Index,查看后台日志/opt/nexus/nexus-2.5.1-01/logs/wrapper.log。
1jvm 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 2jvm 1 | 2017-04-19 09:56:18 INFO [pxpool-1-thread-1] org.sonatype.nexus.index.DefaultIndexerManager - Publishing index for repository thirdparty 3jvm 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) 4jvm 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]... 5 6如出现上述信息,代表操作完成。Browse Index 和 Browse Storage tab页中有上传的目录结构。 -
点击3rd party的Repository Path,就会出现你想看到的东西啦。
settings.xml配置
-
在<mirrors>标签下配置如下内容,其他镜像内容注释掉。
1 <mirror> 2 <id>nexus-thirdparty</id> 3 <mirrorOf>*</mirrorOf> 4 <name>Nexus thirdparty</name> 5 <url>http://ip:8081/nexus/content/repositories/thirdparty/</url> 6 </mirror>
测试
- 复制一份settings.xml,并把本地仓库指向与之前不同的文件目录下。如之前目录为E:\maven.m2\repository,现指定仓库名称为E:\maven.m2\repository1
- 在开发工具中重新指定settings.xml的位置。
- 在项目的pom.xml中右键maven install。
- E:\maven.m2\repository1出现下载的包。如果下载不成功,一是前面的工作没做好,二是可能进行多次下载后,仓库中对应的包下有lastUpdate文件记得删除后重新操作步骤3。
