Maven 私服nexus搭建(window环境)

2018-11-29  本文已影响14人  Ludwigvan

Maven 私服nexus搭建(window环境)

前言:Nexus 是Maven的一个仓库管理器,如果您使用的是Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。同时,如果你们需要在公司提供一个公共的common代码时,也可以把common 打包成构件,上传到私服,其他客服端只需要down下来引入即可。

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 然后进行设置相关参数如图:

image

Allow 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 即可下载到本地。

上一篇下一篇

猜你喜欢

热点阅读