Maven 私服nexus搭建(window环境)
前言:Nexus 是Maven的一个仓库管理器,如果您使用的是Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。同时,如果你们需要在公司提供一个公共的common代码时,也可以把common 打包成构件,上传到私服,其他客服端只需要down下来引入即可。
- 安装和配置nexus?
- maven配置?
- 上传下载构件?
1 如何安装nexus?
安装nexus 的方式有很多,你可以从[官网](http://nexus.sonatype.org/downloads/ 下载最新版本的Nexus,笔者使用的是3.14版本。
Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。第二种方式是WAR,你只须简单的将其发布到web容器中即可使用。
1.1 Bundle方式安装
解压nexus-webapp-1.3.0-bundle.zip至任意目录,如D:\dev_tools,然后打开CMD,cd至目录D:\dev_tools\nexus-webapp-1.3.0\bin\jsw\windows-x86-32 ,运行Nexus.bat。你会看到Nexus的启动日志,当你看到“Started SelectChannelConnector@0.0.0.0:8081”之后,说明Nexus启动成功了,然后打开浏览器,访问http://127.0.0.1:8081/nexus,你会看到如下的页面:
image①Nexus配置
在安装包根目录/etc/nexus-default.properties文件中设置nexus启动参数(入jetty端口,地址,日志文件路径等):
# Jetty section
application-port=8081
application-host=127.0.0.1
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
# Nexussection
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature
然后在根目录/etc/nexus.vmoption 文件中修改内存参数:
-Xms1200M
-Xmx1200M
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
要停止Nexus,Ctrl+C即可,此外InstallNexus.bat可以用来将Nexus安装成一个windows服务,其余的脚本则对应了启动,停止,暂停,恢复,卸载Nexus服务。
1.2 WAR方式安装
你需要有一个能运行的web容器,这里以Tomcat为例,加入Tomcat的安装目录位于D:\dev_tools\apache-tomcat-6.0.18 ,首先我们将下载的nexus-webapp-1.3.0.war重命名为nexus.war ,然后复制到D:\dev_tools\apache-tomcat-6.0.18\webapps\nexus.war ,然后启动CMD,cd到D:\dev_tools\apache-tomcat-6.0.18\bin\ 目录,运行startup.bat 。一切OK,现在可以打开浏览器访问http://127.0.0.1:8080/nexus,你会得到和上图一样的界面。
1 如何安装nexus?
安装成功后第一次进入Nexus默认密码账号为:admin/admin123;进入过后可以在setting里面设置密码。这里我们使用默认的账号密码;然后配置我们的中央仓库:
setting->repositories 可以看到有很多的仓库地址;
image我们点击maven-release 然后进行设置相关参数如图:
imageAllow deploy:表示该仓库接收我们上传构件;
同理maven-snapshots也这样设置,然后点击Rebuild index更新索引;
然后返回仓库列表可以看到每个仓库后面有个URL,这个URL 就是我们上传地址;需要在maven中设置这个地址。
2 maven配置?
Nexus 配置好了过后,就是需要在maven中配置私服地址了,编辑maven的setting文件:
image image如上设置好了过后,在maven 项目中添加如下配置:
<distributionManagement>
<!-- 两个ID必须与setting.xml中的<server><id>nexus-releases</id></serve保持一致-->
<repository>
<id>nexus-releases</id>
<name>maven-releases</name>
<url>http://127.0.0.1:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-releases</id>
<name>maven-snapshots</name>
<url>http://127.0.0.1:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
3 上传和下载构件?
这里直接运行maven命令:mvn package deploy 即可将打包的jar文件上传到中央仓库;
比如 com/ezhomesixgod/dubbo-demo-core/1.0.0/dubbo-demo-core-1.0.0.jar 会有这样一个jar文件路径;其他项目只需按照构件ID引入依赖然后执行mvn install 即可下载到本地。
网友评论