跳转到主内容
极星编程网:以代码为星,赴技术山海!

一篇文章搞定maven私服部署,使用,上传自己的jar包到私服

一、为什么需要maven私服 几乎所有的公司都会有自己的maven私服,我觉得有以下几点原因: 为了共享,管理,自己的包依赖,因为一般公司都会开发自己的服务,各个服务器都会相互依赖,这个时候就需要把jar依赖,上传到一个公共的地方,供各个项目使用。

为了代码安全,自己公司开发的东西肯定不想让其他知道,如果你上传到公服(阿里云等)则会造成 代码泄漏的风险,且管控权也不在自己这边。

公司没有外网,只能自己搭建maven私服。

二、搭建过程 本文搭建以 windows为例: 环境: windows 11 jdk1.8 Nexus Repository OSS nexus-3.14.0-04-win64.zip [下载地址]( Download Archives - Repository Manager 3 (sonatype.com) ) 或者百度云:链接: pan.baidu.com/s/1iPJ4O2P4… 提取码: cqbi 2.1 准备好环境和工具包 将下载的nexus-3.14.0-04-win64.zip解压到自定义目录即可。

打开zip解压文件下的 ../nexus-3.14.0-04-win64/nexus-3.14.0-04/etc/nexus-default.properties。

如下属性可以自定义修改。

application-host : Nexus服务监听的主机 application-port: Nexus服务监听的端口, nexus-context-path : Nexus服务的上下文路径 通常可以不做任何修改,但个人习惯于修改 application-host 为127.0.0.1(关于0.0.0.0与127.0.0.1的区别自行检索)

-Xms2703m

-Xmx2703m -XX:MaxDirectMemorySize=2703m -XX:+UnlockDiagnosticVMOptions -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 -Dkaraf.log=../sonatype-work/nexus3/log -Djava.io.tmpdir=../sonatype-work/nexus3/tmp -Dkaraf.startLocalConsole=false # # additional vmoptions needed for Java9+ # # --add-reads=java.xml=java.logging # --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED # --patch-module=java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.9.jar # --patch-module=java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.9.jar # --add-opens=java.base/java.security=ALL-UNNAMED # --add-opens=java.base/java.net=ALL-UNNAMED # --add-opens=java.base/java.lang=ALL-UNNAMED # --add-opens=java.base/java.util=ALL-UNNAMED # --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED # --add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED # --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED # --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED # --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED # --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED # --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED # # comment out this vmoption when using Java9+ # -Djava.endorsed.dirs=lib/endorsed 复制代码 2.2、nexus的安装 在.../nexus-3.14.0-04-win64/nexus-3.14.0-04/bin 目录下,以管理员身份运行cmd nexus.exe /run 命令可以启动nexus服务( 官方参考文档 ) 安装nexus本地服务来启动(推荐使用这种方式, 官方参考文档 ),命令如下所示。

//安装nexus服务 nexus 是服务名,可自行定义

nexus.exe /install nexus 复制代码

//启动nexus服务 nexus 是服务名

sc start nexus 复制代码

//关闭nexus服务

sc stop nexus 复制代码

//查看nexus服务 状态

sc query nexus 复制代码 2.3 nexus登录 nexus的默认admin登录密码登录地址默认是放在 如下目录的 admin.password 文件中的

...\nexus-3.29.2\sonatype-work\nexus3\admin.password

复制代码 第一次登录以后会强制你修改密码,修改以后这个文件就没了。

三、nexus简单介绍 3.1 仓库类型 默认安装有以下这几个仓库,在控制台也可以修改远程仓库的地址,第三方仓库等。

仓库名作用hosted(宿主仓库库)存放本公司开发的jar包(正式版本、测试版本)proxy(代理仓库)代理中央仓库、Apache下测试版本的jar包group(组仓库)使用时连接组仓库,包含Hosted(宿主仓库)和Proxy(代理仓库)virtual (虚拟仓库)基本用不到,重点关注上面三个仓库的使用

3.2自定义仓库 自定义一个阿里云maven仓库

自定义一个聚合maven组仓库

四、项目中使用自己的私服 4.1 方法一、修改maven 的setting文件

D:\repositorylocal-maven-releasesadmin123456local-maven-snapshotsadmin123456nexusreleasehttp://127.0.0.1:8081/repository/maven-releases/truealwaystruealways snapshothttp://localhost:8081/repository/maven-snapshots/truealwaystruealwaysreleasehttp://127.0.0.1:8081/repository/maven-releases/truealwaystruealwayssnapshothttp://localhost:8081/repository/maven-snapshots/truealwaystruealwaysnexus复制代码

4.2 方法二、修改项目的pom文件

local-maven-releasesmaven-releaseshttp://localhost:8081/repository/maven-releases/local-maven-snapshotsmaven-snapshotshttp://localhost:8081/repository/maven-snapshots/maven-allhttp://localhost:8081/repository/maven-all/truetrue复制代码

五、发布jar包到私服中 5.1 首先在maven的setting文件中增加如下配置

local-maven-releasesadmin123456local-maven-snapshotsadmin123456复制代码

5.2 在项目的pom文件中增加如下配置:

com.ratelopen-sdk0.0.1-SNAPSHOTlocal-maven-releasesmaven-releaseshttp://localhost:8081/repository/maven-releases/local-maven-snapshotsmaven-snapshotshttp://localhost:8081/repository/maven-snapshots/复制代码

5.3 发布jar包到仓库 在idea中点击 deploy部署即可。

然后就可以在maven私服中查看:

六、 上传本地jar到私服 (常用) 使用Nexus上传JAR包的两种方法_nexus upload-CSDN博客

相关文章