linux环境下jdk 安装以及maven私服搭建

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的一致性
 
   
  
 
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。