搭建Maven的Nexus3私服

搭建Maven的Nexus3私服

1、常见的Maven私服产品

  1. Apache的Archiva
  2. JFrog的Artifactory
  3. Sonatype的Nexus([ˈneksəs])(当前最流行、使用最广泛)

2. windows java8安装和配置私服Nexus3

参考:

https://zhuanlan.zhihu.com/p/665815321

https://blog.csdn.net/jiangyq_/article/details/134823631

下载

下载地址:https://help.sonatype.com/repomanager3/product-information/download

最新版本地址:

https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.67.1-01-java8-win64.zip

安装

  • 解压nexus-3.58.1-02-win64.zip,配置系统环境变量NEXUS_HOME
λ echo %NEXUS_HOME%
D:\devtools\nexus-3.58.1-02-win64\nexus-3.58.1-02

并将%NEXUS_HOME%\bin加入PathNexus3自带了jre,可以按需替换成其他的版本。

  • 修改端口号和ContextPath,配置文件路径%NEXUS_HOME%\etc\nexus-default.properties
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
# 端口号
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
# ContextPath
nexus-context-path=/# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\nexus-pro-featurenexus.hazelcast.discovery.isEnabled=true
  • 修改JVM参数,配置文件路径%NEXUS_HOME%\etc\nexus.vmoptions 这个可以不改
-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
-Djdk.tls.ephemeralDHKeySize=2048
#
# additional vmoptions needed for Java9+ 
# Java9以上需要打开以下注释的配置
#
# --add-reads=java.xml=java.logging
# --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
# --patch-module java.base=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.locator-4.3.9.jar
# --patch-module java.xml=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.java.xml-4.3.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
# --add-exports java.security.sasl/com.sun.security.sasl=ALL-UNNAMED
#
# comment out this vmoption when using Java9+
#
-Djava.endorsed.dirs=lib/endorsed

启动和安装nexus系统服务

这是我见过最傻的!!!

直接输入命令

nexus.exe/run

启动成功

登录http://localhost:8081/

image-20240412231245977

λ nexus --help
Usage: nexus.exe /install | /uninstall | /stop | /start | /status | /run | /run-redirect
  • nexus /run 控制台启动
  • nexus /run-redirect 控制台启动可重定向标准输出和错误流到日志文件
  • nexus /install 安装nexus系统服务
  • nexus /uninstall 卸载nexus系统服务
  • nexus /stop 停止nexus系统服务
  • nexus /start 启动nexus系统服务

首次启动后会在%NEXUS_HOME%\sonatype-work\nexus3目录下生成admin.password文件,文件中内容就是admin用户的登陆密码。登陆进去之后会提示修改密码,修改完成之后会移除密码文件。

通过文件内容查看登录密码:

  • 2.x的版本,初始账户和密码分别为admin和admin123
  • 3.x的版本,初始账户是admin,密码在sonatype-work\nexus3\admin.password文件里
admin5fe0c78a-f71a-4ad8-80b3-6b63e6f9017f

配置阿里云代理仓库

阿里云Maven仓库配置指南(仓库服务)

阿里云代理maven仓库地址:https://maven.aliyun.com/repository/central

img

创建仓库

img

选择maven2(proxy)

img

创建阿里云代理仓库

img

已经创建好的仓库

配置仓库组

img

选择maven-public

img

保存配置

修改%MAVEN_HOME%/conf/setting.xml

修改servers和``mirrors`节点配置:

<servers><server><id>maven-snapshots</id><username>登陆用户</username><password>密码</password></server><server><id>maven-releases</id><username>登陆用户</username><password>密码</password></server><server><id>maven-public</id><username>登陆用户</username><password>密码</password></server></servers><mirrors><mirror><id>maven-snapshots</id><mirrorOf>*</mirrorOf><url>http://localhost:10000/nexus/repository/maven-snapshots/</url><blocked>false</blocked></mirror><mirror><id>maven-releases</id><mirrorOf>*</mirrorOf><url>http://localhost:10000/nexus/repository/maven-releases/</url></mirror><mirror><id>maven-public</id><mirrorOf>*</mirrorOf><url>http://localhost:10000/nexus/repository/maven-public/</url></mirror> </mirrors>

保存文件,至此就全部配置好了。

发布构建

在项目的pom.xml中增加要发布的仓库地址,比如需要发布releases构建,配置如下:

    <distributionManagement><snapshotRepository><id>maven-snapshots</id><url>http://localhost:10000/nexus/repository/maven-snapshots/</url></snapshotRepository><repository><id>maven-releases</id><url>http://localhost:10000/nexus/repository/maven-releases/</url></repository></distributionManagement>

然后执行mvn deploy

D:\devtools\workspace\ideaj\nexus3>mvn deploy
[INFO] Scanning for projects...
[INFO] 
[INFO] ---------------------------< nexus3:nexus3 >----------------------------
[INFO] Building nexus3 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ nexus3 ---
[INFO] Copying 0 resource from src\main\resources to target\classes
[INFO] 
[INFO] --- compiler:3.11.0:compile (default-compile) @ nexus3 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ nexus3 ---
[INFO] skip non existing resourceDirectory D:\devtools\workspace\ideaj\nexus3\src\test\resources
[INFO] 
[INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ nexus3 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- surefire:3.1.2:test (default-test) @ nexus3 ---
[INFO] No tests to run.
[INFO] 
[INFO] --- jar:3.3.0:jar (default-jar) @ nexus3 ---
[INFO] 
[INFO] --- install:3.1.1:install (default-install) @ nexus3 ---
[INFO] Installing D:\devtools\workspace\ideaj\nexus3\pom.xml to D:\devtools\apache-maven-3.9.4\repository\nexus3\nexus3\1.0-SNAPSHOT\nexus3-1.0-SNAPSHOT.pom
[INFO] Installing D:\devtools\workspace\ideaj\nexus3\target\nexus3-1.0-SNAPSHOT.jar to D:\devtools\apache-maven-3.9.4\repository\nexus3\nexus3\1.0-SNAPSHOT\nexus3-1.0-SNAPSHOT.jar
[INFO] 
[INFO] --- deploy:3.1.1:deploy (default-deploy) @ nexus3 ---
Downloading from maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/1.0-SNAPSHOT/maven-metadata.xml
Uploading to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/1.0-SNAPSHOT/nexus3-1.0-20231108.154630-1.pom
Uploaded to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/1.0-SNAPSHOT/nexus3-1.0-20231108.154630-1.pom (1.0 kB at 16 kB/s)
Uploading to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/1.0-SNAPSHOT/nexus3-1.0-20231108.154630-1.jar
Uploaded to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/1.0-SNAPSHOT/nexus3-1.0-20231108.154630-1.jar (1.4 kB at 22 kB/s)
Downloading from maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/maven-metadata.xml
Uploading to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/1.0-SNAPSHOT/maven-metadata.xml
Uploaded to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/1.0-SNAPSHOT/maven-metadata.xml (756 B at 15 kB/s)
Uploading to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/maven-metadata.xml
Uploaded to maven-snapshots: http://localhost:10000/nexus/repository/maven-snapshots/nexus3/nexus3/maven-metadata.xml (270 B at 5.2 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.329 s
[INFO] Finished at: 2023-11-08T23:46:32+08:00
[INFO] ------------------------------------------------------------------------

可以看到nexus3-1.0-SNAPSHOT.jar 已经发布至私服。

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/307134.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Idea中 maven 下载jar出现证书问题

目录 1&#xff1a; 具体错误&#xff1a; 2&#xff1a; 忽略证书代码&#xff1a; 3&#xff1a; 关闭所有idea&#xff0c; 清除缓存&#xff0c; 在下面添加如上忽略证书代码 4&#xff1a;执行 maven clean 然后刷刷新依赖 完成&#xff0c;撒花&#xff01;&#x…

uni-app web端使用getUserMedia,摄像头拍照

<template><view><video id"video"></video></view> </template> 摄像头显示在video标签上 var opts {audio: false,video: true }navigator.mediaDevices.getUserMedia(opts).then((stream)> {video document.querySelec…

小程序 SSL证书的重要性与选择

随着移动互联网的迅猛发展&#xff0c;微信小程序已成为众多企业和开发者连接用户的重要平台。然而&#xff0c;随之而来的是对数据安全和隐私保护的严峻挑战。在这一背景下&#xff0c;小程序SSL证书的作用变得尤为重要&#xff0c;它为小程序提供了一个安全的通信管道&#x…

【linux深入剖析】动态库的使用(续) | 动静态库的链接

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 回顾1. 打包库的使用2. 动…

redis-缓存穿透与雪崩

一&#xff0c;缓存穿透&#xff08;查不到&#xff09; 在默认情况下&#xff0c;用户请求数据时&#xff0c;会先在缓存(Redis)中查找&#xff0c;若没找到即缓存未命中&#xff0c;再在数据库中进行查找&#xff0c;数量少可能问题不大&#xff0c;可是一旦大量的请求数据&a…

IDM激活步骤-亲测可用

前言&#xff1a;我试了3种方法&#xff0c;仅以下方法激活成功&#xff0c;其他都是30天试用 使用步骤&#xff1a; 1.从官网下载IDM并安装&#xff1a;https://www.internetdownloadmanager.com/ 2.下载激活工具&#xff1a;https://wwif.lanzouw.com/iSY2N16s81xi &#…

【NLP练习】调用Gensim库训练Word2Vec模型

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、准备工作 1.安装Gensim库 使用pip安装&#xff1a; !pip install gensim2. 对原始语料分词 选择《人民的民义》的小说原文作为语料&#xff0c;先采用…

Composer安装与配置

Composer&#xff0c;作为PHP的依赖管理工具&#xff0c;极大地简化了PHP项目中第三方库的安装、更新与管理过程。本文将详细介绍Composer的安装步骤、基本配置方法&#xff0c;以及一些实用的操作示例&#xff0c;帮助读者快速上手并熟练运用Composer。 一、Composer安装 环…

性能优化-02

uptime 依次显示当前时间、系统运行时间以及正在登录用户数&#xff0c;最后三个数字依次则是过去1分钟、5 分钟、15 分钟的平均负载(Load Average) 平均负载是指单位时间内&#xff0c;系统处于可运行状态和不可中断状态的平均进程数&#xff0c;也就是平均活跃进程数&#xf…

R语言绘图:绘制横向柱状图

代码主要实现&#xff1a; 对数据进行排序&#xff0c;并且相同分组的数据会有相同的颜色。最后&#xff0c;绘制横向柱状图。 # 加载ggplot2包 library(ggplot2)# 示例数据&#xff0c;假设有三列&#xff1a;Group, Variable, Value data <- data.frame(Group factor(c(…

探索HTTP协议的世界 | 从基础到高级应用,原理与实践相结合(请求篇)

从基础到高级应用&#xff0c;原理与实践相结合 什么是Http历代Http协议主要特点格式和URL协议内容请求行格式如下请求方法简单案例 消息报头报头域的格式HTTP消息报头类型普通报头优化方向报头&#xff08;缓存&#xff09;Cache-Control的选项其他相关的缓存报头 请求报头Acc…

无惧烈日!看小米SU7的防晒杀手锏

小米SU7&#xff0c;为颜值设计&#xff0c;更为体验设计。 其中&#xff0c;女性车主占比近30%&#xff0c;算上给太太/女朋友、姐姐、妹妹等亲友买的&#xff0c;实际女车主预计占比是40%甚至50%。 为啥呢&#xff1f;因为小米SU7好看、防晒、收纳&#xff0c;丰富优雅。 小米…

git工具上传文件超过100MB解决方法

Github 上传超过100M的大文件 - 简书 (jianshu.com) 看到一个不错的贴子。 29660DESKTOP-CAB6SQB MINGW64 /d/predict-system $ git init Initialized empty Git repository in D:/predict-system/.git/29660DESKTOP-CAB6SQB MINGW64 /d/predict-system (master) $ git lfs tr…

基于java+springboot+vue实现的居家养老健康管理系统(文末源码+Lw)23-313

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装智慧社区居家养老健康管理系统软件来发挥其高效地信息处理…

ubuntu下man手册 查不到 pthread_mutex_lock等系列函数用法的问题

问题 在ubuntu系统中无法man到 pthread_mutex_lock pthread_mutex_trylock pthread_mutex_unlock等函数 $ man pthread_mutex_lock 没有 pthread_mutex_lock 的手册页条目解决方式 输入以下命令 sudo apt-get install manpages-posix manpages-posix-dev 然后输入密码 再次m…

主从同步优化

2.3.主从同步优化 主从同步可以保证主从数据的一致性&#xff0c;非常重要。 可以从以下几个方面来优化Redis主从就集群&#xff1a; 在master中配置repl-diskless-sync yes启用无磁盘复制&#xff0c;避免全量同步时的磁盘IO。Redis单节点上的内存占用不要太大&#xff0c;…

SQLite 在Android安装与定制方案(十七)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite超详细的编译时选项&#xff08;十六&#xff09; 下一篇&#xff1a;SQLite Android 绑定&#xff08;十八&#xff09; 安装 有三种方法可以将 SQLite Android 绑定添加到应用程序&#xff1a; 1、通过…

计算机网络----第十天

配置vlan 广播风暴的含义&#xff1a; 含义&#xff1a;设备发出的广播帧在广播域中传播&#xff0c;占用网络带宽&#xff0c;降低设备性能 隔离广播的方式&#xff1a; 方式&#xff1a;用路由器来隔离广播 用VLN隔离广播 vlan的定义&#xff1a; 定义&#xff1a;虚拟…

单调栈用法

文章目录 1. 单调栈1.1 理解单调栈&#xff08;模板&#xff09;1.2 每日温度1.3 子数组的最小值之和1.4 柱状图中最大的矩形1.5 最大矩形1.6 最大宽度坡1.7 去除重复字母 1. 单调栈 单调栈经典的用法&#xff1a; 对每个位置都求&#xff1a; 当前位置的左侧比当前位置的数…

openGauss_5.1.0 企业版快速安装及数据库连接:单节点容器化安装

目录 &#x1f4da;第一章 官网信息&#x1f4da;第二章 安装&#x1f4d7;下载源码&#x1f4d7;下载安装包&#x1f4d7;修改版本&#x1f4d7;解压安装包&#x1f4d7;运行buildDockerImage.sh脚本&#x1f4d7;docker操作&#x1f4d5;查看docker镜像&#x1f4d5;启动dock…