nexus在linux上搭建
Maven 仓库的分类:(maven的仓库只有两大类)
1.本地仓库
2.远程仓库,在远程仓库中又分成了3种:
2.1 中央仓库
2.2 私服
2.3 其它公共库
有个maven私服可以很方便地管理我们的jar包和发布构建到远程仓库,本文就介绍了如何在linux下一步步使用nexus搭建maven私服。
私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。
首先安装好jdk 、maven
我这里安装的JDK 、maven版本信息如下:
- [root@localhost bin]# java -version
- java version "1.7.0_79"
- Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
- Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
- [root@localhost bin]# mvn -v
- Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
- Maven home: /home/data/maven
- Java version: 1.7.0_79, vendor: Oracle Corporation
- Java home: /home/xuan/soft/jdk1.7.0_79/jre
- Default locale: en_US, platform encoding: UTF-8
- OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"
这里附上,环境配置:
- #java
- export JAVA_HOME=/home/data/java
- export PATH=$JAVA_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- #maven
- export MAVEN_HOME=/home/data/maven
- export MAVEN_HOME
- export PATH=${PATH}:${MAVEN_HOME}/bin
- #nexus
- export RUN_AS_USER=root
下载安装
nexus下载地址:http://www.sonatype.org/nexus/go
解压后会在同级目录中,出现两个文件夹:nexus-oss-webapp-1.8.0和sonatype-work,前者包含了nexus的运行环境和应用程序,后者包含了你自己的配置和数据。
nexus-2.12.0-01-bundle.tar.gz
- tar -zxvf nexus-2.12.1-01-bundle.tar.gz -C /home/xuan/soft/nexus
- [root@localhost soft]# tar -zxvf nexus-2.12.1-01-bundle.tar.gz
- nexus-2.12.1-01/
- nexus-2.12.1-01/nexus/
为了方便更新和切换版本,创建链接,更新或者切换版本只需更新链接即可:
- tar -zxvf nexus-2.12.1-01-bundle.tar.gz -C /home/xuan/soft/nexus
- [root@localhost nexus]# pwd
- /home/xuan/soft/nexus
- [root@localhost nexus]# ls
- nexus-2.12.1-01 sonatype-work
- [root@localhost nexus]#
- ln -s /home/xuan/soft/nexus /home/data/nexus
启动nexus
- [root@localhost bin]# pwd
- /home/data/nexus/nexus-2.12.1-01/bin
- [root@localhost bin]# ./nexus
- Usage: ./nexus { console | start | stop | restart | status | dump }
- $ ./nexus start
- Starting Nexus OSS...
- Started Nexus OSS.
启动成功:
查看控制台:
- [root@localhost bin]# ./nexus console
- ****************************************
- WARNING - NOT RECOMMENDED TO RUN AS ROOT
- ****************************************
- Running Nexus OSS...
- Nexus OSS is already running.
查看nexus日志:
- [root@localhost logs]# pwd
- /home/data/nexus/nexus-2.12.1-01/logs
- [root@localhost logs]# tail -f ./wrapper.log
- jvm 1 | 2016-05-20 06:50:10,655-0700 INFO [qtp1294005448-58] anonymous org.apache.http.impl.execchain.RetryExec - I/O exception (java.net.SocketException) caught when processing request to {s}->https://sonatype-download.global.ssl.fastly.net:443: Connection reset
配置nexus
访问网址:http://yourhostname:8081/nexus
访问网址:http://192.168.140.128:8081/nexus
右上角以admin登陆,默认用户名/密码:admin/admin123。
安装过程中可能遇到的错误:
1、进入启动目录,启动时不成功 提示
****************************************
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,临时配置
也可以在vi /etc/profile 文件末尾里添加export RUN_AS_USER=root 永久配置
2、访问不了虚拟机的,需要关闭防火墙
centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。
所以你只要停止firewalld服务即可:
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
如果你要改用iptables的话,需要安装iptables服务:
sudo yum install iptables-services
sudo systemctl enable iptables && sudo systemctl enable ip6tables
sudo systemctl start iptables && sudo systemctl start ip6tables
下一步进行Maven 与私服的测试:
~/.m2/settings.xml
在maven的setting.xml文件增加使用nexus私服配置:
maven 私服地址 http://192.168.1.102:8081/nexus/content/groups/public/
maven 中央仓库地址:http://repo1.maven.org/maven2 (没有私服镜像可以中央仓库的)
- <settings>
- <mirrors>
- <mirror>
- <!--This sends everything else to /public -->
- <id>nexus</id>
- <mirrorOf>*</mirrorOf>
- <url>http://192.168.1.102:8081/nexus/content/groups/public/</url>
- </mirror>
- </mirrors>
- <profiles>
- <profile>
- <id>nexus</id>
- <!--Enable snapshots for the built in central repo to direct -->
- <!--all requests to nexus via the mirror -->
- <repositories>
- <repository>
- <id>central</id>
- <url>http://central</url>
- <releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>
- <snapshots><enabled>true</enabled></snapshots>
- </repository>
- <repository>
- <id>spring-release</id>
- <name>Spring Maven Release Repository</name>
- <url>http://repo.springsource.org/libs-release</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>central</id>
- <url>http://central</url>
- <releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>
- <snapshots><enabled>true</enabled></snapshots>
- </pluginRepository>
- </pluginRepositories>
- </profile>
- </profiles>
- <activeProfiles>
- <!--make the profile active all the time -->
- <activeProfile>nexus</activeProfile>
- </activeProfiles>
- <!-- deploy artifacts to repository. -->
- <servers>
- <server>
- <id>releases</id>
- <username>admin</username>
- <password>admin123</password>
- </server>
- <server>
- <id>snapshots</id>
- <username>admin</username>
- <password>admin123</password>
- </server>
- </servers>
- </settings>
测试效果图:
1、在项目的pom.xml文件 加入maven依赖测试
2、私服上的依赖
3、项目本地的依赖
参考文档:
http://tianweili.github.io/blog/2015/03/17/linux-nexus-maven-private-server/
maven 使用私服的参考文档:
http://blog.csdn.net/liujiahan629629/article/details/39272321
本地上传依赖到nexus服务器的两种方式:
1、通过网页上传
2、通过maven的方式depoly
在项目的pom.xml 加入如下配置 (这里不做详细介绍,可以参考上面的资料)
- <distributionManagement>
- <repository>
- <id>releases</id>
- <name>Nexus Release Repository</name>
- <url>http://192.168.1.102:8081/nexus/content/repositories/releases/</url>
- </repository>
- <snapshotRepository>
- <id>snapshots</id>
- <name>Nexus Snapshot Repository</name>
- <url>http://192.168.1.102:8081/nexus/content/repositories/snapshots/</url>
- </snapshotRepository>
- </distributionManagement>
运行命令:mvn package deploy 它会根据项目的pom.xml文件的配置如下 在私服生成些war包 (暂不知道在那些场景应用)
<groupId>com.xuan</groupId>
<artifactId>spring</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>springmvc_hibernate</name>
在私服生成
/com/xuan/spring/xxxxx.pom
/com/xuan/springxxxxx.war
nexus在linux上搭建的更多相关文章
- linux上搭建ftp
linux上搭建ftp 重要 解决如何搭建ftp 解决用户指定访问其根目录 解决访问ftp超时连接 解决ftp主动连接.被动连接的问题 1.安装ftp ...
- 使用Nginx在windows和linux上搭建集群
Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...
- linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题
linux上搭建ftp 重要 解决如何搭建ftp 解决用户指定访问其根目录 解决访问ftp超时连接 解决ftp主动连接.被动连接的问题 1.安装ftp ...
- CentOS Linux上搭建PPPoE服务器及拨号设置
CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...
- 【转帖】Linux上搭建Samba,实现windows与Linux文件数据同步
Linux上搭建Samba,实现windows与Linux文件数据同步 2018年06月09日 :: m_nanle_xiaobudiu 阅读数 15812更多 分类专栏: Linux Samba 版 ...
- Linux上搭建SVN服务
环境:centos7 一.搭建svn服务 1. 安装svn yum -y install subversion 2. 创建一个目录作为svn服务的地址(svn://192.168.0.2:3690 访 ...
- mongo学习笔记(六):linux上搭建
linux分以下几台 monogos mongocfg mongod1 mongod2 1.用ssh把 mongodb-linux-x86_64-3.0.6.tgz 移到linux /root上 2. ...
- linux上搭建nginx+php+mysql环境详细讲解
1.mysql安装 #安装编译环境 yum install -y gcc gcc-c++ gcc-devel g++ g++-devel; yum install -y wget yum instal ...
- Openfire+spark在linux上搭建内部聊天系统
一. 实验环境 Ubuntu server14.04 openfire:http://www.igniterealtime.org/downloads/index.jsp spark:http: ...
随机推荐
- spark 例子groupByKey分组计算
spark 例子groupByKey分组计算 例子描述: [分组.计算] 主要为两部分,将同类的数据分组归纳到一起,并将分组后的数据进行简单数学计算. 难点在于怎么去理解groupBy和groupBy ...
- NCBI SRA数据库使用详解
转:https://shengxin.ren/article/16 https://www.cnblogs.com/lmt921108/p/7442699.html 批量下载SRA http://ww ...
- 准确率(accuracy),精确率(Precision),召回率(Recall)和综合评价指标(F1-Measure )----转
原文:http://blog.csdn.net/t710smgtwoshima/article/details/8215037 Recall(召回率);Precision(准确率);F1-Meat ...
- ABAP ODATA 文字列からxstringへの変換およびその逆変換(UTF-8)
DATA(lv_str) = |Teststring|. TRY. * string -> xstring * default UTF-8 DATA(lv_xstr) = cl_abap_cod ...
- Java使用POI导出excel(上)——基本操作
相关的介绍参考自:http://zc985552943.iteye.com/blog/1491546 一.概述 1.概念 受上文博文博主的启发,有必要先对excel的各个概念先做了解! //上述基本都 ...
- 20155207王雪纯 2006-2007-2 《Java程序设计》第二周学习总结
20155207王雪纯 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 整数类型:short(占2字节).int()占4字节.long(占8字节) " ...
- 20155216 2016-2017-2《Java程序设计》课程总结
20155216 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:简要内容:我对师生关系的见解 预备作业2:简要内容:有关C语言学习调查以及学习 ...
- 20155301 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155301 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤:打开cmd,建立 ...
- CF 1093 E. Intersection of Permutations
E. Intersection of Permutations 链接 题意: 给定两个序列,询问第一个排列的[l1,r1]和第二个排列[l2,r2]中有多少个共同的数,支持在第二个排列中交换两个数. ...
- Nginx入门篇(七)之Nginx+keepalived高可用集群
一.keepalived介绍 keepalived软件最开始是转为负载均衡软件LVS而设计,用来管理和监控LVS集群系统中各个服务节点的状态,后来又加入了可实现高可用的VRRP功能.所以Keepali ...