1:准备资源

     linux服务器,jdk和nexus  安装包 
 
2:网络通畅,保持windows端和linux服务器端网络通畅。
 
 
3: 安装jdk和配置环境变量
     进入到jdk安装文件的目录夹 usr/java
         1: 进入到安装文件的目录夹  cd ~命令到根目录下  在cd usr/java
         2:授权 chmod 755 jdk-7u55-linux-x64.tar.gz
         3: tar -zxvf jdk-7u55-linux-x64.tar.gz
     mv 解压的文件夹名  jdk1.7
 
修改 /etc/profile文件  加入以下内容
 export JAVA_HOME=/usr/java/jdk1.7
export JAVA_BIN=/usr/java/jdk1.7/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
 
java -version 进行测试
 
 
4:安装nexus
   
 解压安装包
     
 tar -zvxf nexus-2.1.2-bundle.tar.gz
     
解压后会在同级目录中,出现两个文件夹:nexus-2.1.2和sonatype-work,前者包含了nexus的运行环境和应用程序,后者包含了自己的配置和数据。
     
3:配置nexus  
在/usr/java/nexus-2.1.2/jsw/linux-x86-32(当前系统版本,注意操作系统位数)下的nexus文件在中约20行处加入RUN_AS_USER=用户名(用户名如root用户) 
 
4:启动nexus
 cd到/usr/java/nexus-2.1.2/jsw/linux-x86-32目录下,再./nexus
start命令启动nexus。./nexus status 检查nexus启动状态,./nexus stop停止nexus。
   
(高版本的nexus和低版本的启动文件不在同一级别目录下,需要注意)
 
可能出现nexus 启动失败:
1:在自己的服务器上搭建出现了启动不了的问题,经过检查,是因为操作系统版本引发的openjdk的问题,需要把/etc/selinux/config和/etc/sysconfig/selinux两个文件中设置SELINUX=enforcing。
2:jdk版本问题启动失败
3:nexus安装有问题
4:防火墙为运行该端口,关闭防火墙或者允许改端口权限。
可从日志文件中查看异常信息。
 
访问nexus
     
 
 到这一步,如果都正常到这里,并且宿主机和linux的网络是ping通的,那么可以在宿主机和linux端任意端输入http://服务器
ip:8081/nexus/访问到nexus的主页,8081为端口,可以在/usr/java/nexus-2.1.2/conf下的
nexus.properties文件中进行端口修改
)。默认用户名和密码:admin/admin123,可以开始对nexus进行管理。
 
配置中央仓库
进入nexus主页以后,点击左边导航栏的Repositories,界面的主面板会显示所有所有仓库及仓库组的列表,它们的Type字段的值有group,hosted,proxy,virtual。这里先不关心virtual,只介绍下另外三种类型:
hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库,比如公司的第二方库。 
proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。 
group,仓库组,用来合并多个hosted/proxy仓库,当项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
由此知道,需要配置一个Maven中央仓库的proxy,其实Nexus已经内置了Maven
 Central,但需要做一些配置。点击仓库列表中的Maven
 Central(有的版本是Central),注意到它的Policy是release,这说明它不会代理远程仓库的snapshot构件,英文远程仓
库的snapshot版本构件不稳定且不受我们控制,使用这样的构件含有潜在的风险。发现主面板下方有三个Tab,分别为
Browse,Configuration和Mirrors,点击Configuration进行配置,你现在需要关心的是两个配置项:“Remote
 Storage Location”为远程仓库的地址,对于Maven
Central来说是http://repo1.maven.org/maven2/;“Download Remote
 Indexes”顾名思义是指是否下载远程索引文件,Maven
 Central的该字段默认为False,这是为了防止大量Nexus无意识的去消耗中央仓库的带宽(中央仓库有大量的构件,其索引文件也很大)。这里
需要将其设置为True,然后点击Save。在Nexus下载的中央仓库索引文件之后,就可以在本地搜索中央仓库的所有构件
 
 
有几个项目是我们可能会经常用到的:
Override local storage location:
在这个选项你可以配置Nexus本地仓库的存放地址,用来覆盖其默认的存放地址
Remote storage location:
这里是远程仓库的地址,为了提高代理速度,默认值是http://repo1.maven.org/maven2/
Download remote indexes: 这里配置是否下载远程索引文件,模式是false,
建议配置为true,这样可以通过索引文件来搜索需要的构件。
 
 
前面看到类型为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots,
3rd Party. 
 
 
Releases: 这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如自己做了一个ofbiz
Server的项目, 生成的构件为ofbizserver.war,
我们就可以把这个构建发布到Nexus的Releases本地仓库
Snapshots: 这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本,
比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给其他同事使用,
因为同事也正在依赖你的模块开发, 那么这个时候就可以发布Snapshot版本到这个仓库,
同事就可以通过简单的命令来获取和使用这个临时版本.
3rd Party: 顾名思义, 第三方库,  这里的是指可以添加自己的第三方库,
比如有些构件在中央仓库是不存在的. 比如在中央仓库找不到Oracle 的JDBC驱动, 这个时候就需要自己添加到3rd
party仓库。
 
 
 
搜索构建其实就是将nexus与远程库进行索引同步的过程,这里要求服务器网络通讯正常。在实际使用构件的过程中通常遇到一个问题,有时候紧紧知道所需要的构建的大致名字,并不知道全称或group
id, 这是件非常头疼的事情. Nexus基于Nexus indexer的搜索功能解决了这个问题.
 
要是用搜索功能, 必须要有索引文件,
Nexus默认是不建立索引文件的,因为像中央仓库这样的索引文件的建立需要耗费比较大的网络资源,仅索引文件就要几十兆.
要开启中央仓库的索引文件下载功能需要在Maven Central的配置页面, 我们需要把三个代理仓库与远程网络仓库同步,把Apache
Snapshots ,Central,和CodeHaus Snapshots中Configuration的Download
Remote Indexes选择true,下载同步索引。
 
 
 同步完成以后可查看已经同步的组件,如果下载失败,大部分是以为网络问题,所以一定要保持网络通畅,第一次同步时间可能比较久,资源比较大。可以通过手动下载开源组件仓库,配置进nexus,就可以不需要下载也能拥有开源的资源库。
 
在maven项目中使用nexus中的jar资源
 上传在私服仓库,建议上传在3rd Party
 
 
需要在meven工程中pom.xml配置以下资源
true
public
Public Repositories
http://IP:8081/nexus/content/groups/public/
public
Public Repositories
http://IP:8081/nexus/content/groups/public/
 
如果有很多很多的maven project
,这么做肯定是不合理的,我们在maven的settings.xml中做总的配置就ok了。
 
1:加入一个server
   
 
2:加入一个profile和settings标签中加入activeProfiles。注意和profiles同一级别
 注意IP修改 以及 server的id和profile id的一致性
 
   
  
 
 

linux环境下jdk 安装以及maven私服搭建的更多相关文章

  1. linux环境下jdk安装以及配置

    linux 环境安装jdk和配置环境变量: (此处以root用户安装,此方式安装一台虚拟机装一个jdk即可,所有普通用户可以共用) 1.下载安装jdk 链接: https://pan.baidu.co ...

  2. linux环境下jdk安装

    1,下载jdk版本 jdk-7u25-linux-x64.tar.gz  和windows jdk一致,jvm有区别: 2,拷贝到 /home目录下.通过tar -zxvf jdk-7u25-linu ...

  3. CentOS环境下jdk安装部署

    1.准备jdk安装文件: 这里我使用的是 jdk-7u79-linux-x64.tar.gz 2.在 /usr/local 目录下创建 sotfware目录,并上传JDK文件: 解压文件并修改文件夹为 ...

  4. centos6.9环境下JDK安装部署

    1.准备jdk安装文件: 这里我使用的是 jdk-7u79-linux-x64.tar.gz 2.在 /usr/local 目录下创建 sotfware目录,并上传JDK文件: 解压文件并修改文件夹为 ...

  5. centos6.9环境下JDK安装

    1.准备jdk安装文件: 这里我使用的是 jdk-7u79-linux-x64.tar.gz 2.在 /usr/local 目录下创建 sotfware目录,并上传JDK文件: 解压文件并修改文件夹为 ...

  6. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  7. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

  8. Linux 环境下 Lua 安装(转)

    系统环境:CentOS-6.2-x86_64. Lua 是嵌入式脚本语言,应用场景很广泛. 引自官网:Lua is used in many products and projects around ...

  9. 基础--Redis在Linux环境下的安装

    1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...

随机推荐

  1. Swift中扩展的使用

    import Foundation /* 扩展 1.使用扩展添加属性, 方法, 可变方法, 构造器, 下标, 嵌套类型 2.可以使一个已有类型符合一个或者多个协议 3.扩展与OC的Category类似 ...

  2. java下管道流 PipedOutputStream 与PipedInputStream

    package cn.stat.p2.demo; import java.io.IOException; import java.io.PipedInputStream; import java.io ...

  3. C#多态联系之虚方法

    class Class1 { static void Main(string[] args) { YuanGong yg = new YuanGong(); JingLi jl = new JingL ...

  4. GDI相关基础知识

    原文链接:http://blog.csdn.net/poem_qianmo/article/details/7333886 GDI(Graphics Device Interface) 图形设备接口, ...

  5. 第8章BOM笔记

    第八章 BOM 一. Window 在浏览器中window有双重角色,他既是JavaScript访问浏览器窗口的一个借口,又是ECMAscript 规定的Global对象. 1.全局作用域 由于win ...

  6. [Mugeda HTML5技术教程之1] HTML5: 生存还是毁灭

    [Mugeda HTML5技术教程] 开篇: HTML5 - 生存,还是毁灭 摘要:HTML5并不试图解决所有问题.但是在很多适合的场合,HTML5是不二选择. To be, or not to be ...

  7. php 之 数据访问 增删改查

    一.建立主页面: <title>主页面</title> </head> <body> <h1>主页面</h1> <tabl ...

  8. 基类方法的反隐藏 反private 秘籍

    class GoodStudent:private Mentor,private Student { public : using Mentor::GetInfo;   ///------------ ...

  9. IE6双倍margin间距解决方法

    虽然现在很少有人在用ie6了,但作为前端人员,是不的不面对的问题. 在ie6中,使用float后的元素,在margin—left,这是你会发现距离和你想的不一样,其他的浏览器又是正常的,增大margi ...

  10. SPI协议总结

    四种工作模式: Mode 0 CPOL=0, CPHA=0 Mode 1 CPOL=0, CPHA=1Mode 2 CPOL=1, CPHA=0 Mode 3 CPOL=1, CPHA=1 常使用Mo ...