为什么要搭建私服? 在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的。另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新。可以通过搭建公司内部的Maven服务
为什么要搭建私服?
在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的。另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新。可以通过搭建公司内部的Maven服务器,将第三方和内部的依赖统一管理,同时也可以节省网络带宽,当然前提是项目所需要的构件在私服中已经存在。
-
Nexus下载及安装配置
我们可以在nexus的官网上找到它的相关介绍,下载地址是:http://www.sonatype.org/nexus/go
下载
# wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.1-01-bundle.tar.gz 解压 # cd /usr/local # mkdir nexus # tar -xzvf nexus-2.14.1-01-bundle.tar.gz -C nexus # cd nexus # ls nexus-2.14.1-01 sonatype-work 修改配置文件 # cd nexus-2.14.1-01/conf # vi nexus.properties #Jetty section application-port=8081 ##修改Jetty端口号 # nexus section nexus-work=${bundleBasedir}/../sonatype-work/nexus
保存以上修改
配置用户(“#RUN_AS_USER=“这个注释大概在第23行)# vi /usr/local/nexus/nexus-2.14.1-01/bin/nexus#RUN_AS_USER=RUN_AS_USER=root
-
保存以上修改
若有设置防火墙,需前往修改防火墙配置并重启防火墙,此处略过...... -
启动nexus
# /usr/local/nexus/nexus-2.14.1-01/bin/nexus start****************************************WARNING - NOT RECOMMENDED TO RUN AS ROOT****************************************Starting Nexus OSS...Started Nexus OSS.
在浏览器打开:http://120.77.148.74/:8081/nexus,登录:用户名admin 默认密码:admin123
-
-
在settings.xml中配置下面的私服信息
<repositories> <repository> <id>nexus</id> <name>My Nexus Repository</name> <url>http://120.77.148.74:8081/nexus/content/groups/public/</url> </repository> </repositories>
这样就配置完成了。在构建maven项目时,如果在私服中存在需要的构件,则会直接从私服中下载;如果私服中没有所需构件,则会先从网络上下载到私服,之后才会下载到本地。
-
打包common包到私服库
以支付包为例(前提是要具有上传jar包到私服的权限),右击项目,Run as->maven build..,然后填写clean install deploy,点击run,就会将当前项目打包到私服。
如果因环境问题打包出错,尝试把Skip Tests选项勾上
如果依然打包错误,请尝试对eclipse进行以下配置
上传成功后控制台打印如下信息
如果打包的时候要将源码打成jar包并上传,则需要在项目的pom文件中配置下面的信息
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> </plugins> </build>
添加第三方jar包到私服
登入私服管控台账号->点击Repositories->3rd party->Artifact Upload->添加jar