全流程配置Ubuntu终端实现Maven中央仓库包上传

如何将jar包发布到中央仓库 之前在github上开发了一个简单的项目,一直想把这个jar包发布到中央仓库。一直没有时间弄这个,今天抽出点时间,按照网上的例子,操作了一遍,顺便记录一下,一遍将来参考。我的开发环境是ubuntu18.04,maven3,整个过程还是比较顺利的。 注册JIRA账号 打开https://issues.sonatype.org/secure/Dashboard.jspa ,用邮箱注册即可。 创建i... 阅读详情

1. maven环境安装

既然是打包上传,那么maven环境得有,而maven则又需要借助jdk,所以第一步就是安装jdk

sudo apt-get install openjdk-8-jdk

安装完毕之后,执行下java命令确认下是否安装准确

第二步就是安装maven了

直接到官网找对应得下载包

# 1\. 下载
wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
# 2\. 解压
tar -zxvf apache-maven-3.8.5-bin.tar.gz

# 3\. 配置环境变量
vim ~/.profile

# 注意下面得地址,根据实际的进行替换
export MAVEN_HOME="/home/yihui/soft/apache-maven-3.8.5/bin"
export PATH=$PATH:$MAVEN_HOME

## 4\. 让配置生效
source ~/.profile

到此maven就算配置完成了,可以通过执行 mvn 命令来验证下是否ok

2. gpg配置

相比于之前因为mac系统老旧安装这个折腾很久来说,这次安装可以说无比顺畅了,直接apt即可

sudo apt-get install gdb

安装完之后,就是配置密钥了

# 生成密钥对
# 输入用户名 + 邮箱,请记住这个密码,后面上传jar包的时候会用到
gpg --gen-key

注意:上面这个key的密钥非常重要,以后每次上传包进行签名的就是它

查看本地密钥

gpg --list-keys

正常返回结果如下

pub   rsa3072 2022-06-02 [SC] [expires: 2024-06-01]
      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  (<- 注意这个就是我们需要上传的公钥id)
uid                      yihuihui <yihuihuiyi@gmail.com>
sub   rsa3072 2022-06-02 [E] [expires: 2024-06-01]

接下来就是上传公钥id到密钥服务器

## 上传公钥
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 公钥ID

## 查看公钥上传情况
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 公钥ID

上传成功之后,查看返回如下

gpg: key 274D20CF942E6787: "yihuihui <yihuihuiyi@gmail.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

4. 配置.m2/setting.xml

最后剩下的配置就是mvn上传仓库的账号信息

<servers>
  <server> 
    <id>ossrh</id>
    <username>user</username>
    <password>password</password>
  </server>
</servers>

5. 上传

到这里就可以愉快的发布包到maven中央仓库了,当然前提是对应的项目已经配置好了,这里以 github.com/liuyueyi/qu…

# 打包上传
mvn clean deploy -DskipTests=true -P release

执行上面打包上传之后,却发现没有提示输gpg密码的地方,果不其然最后的上传结果也是失败,提示信息如下

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-artifacts) on project quick-media: Exit code: 2 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

当然错误原因我们也能猜测到,但是怎么解决呢?

stackoverflow 上有一个类似的提问其中一个回答可以解决这个问题 failed to execute goal org.apache.maven.plugins:maven-gpg-plugin解决方法选的是第二个回答,执行下面这个命令

export GPG_TTY=$(tty)

再次执行上传,就可以了。

Ubuntu零基础教学-Ubuntu20.04安装maven及配置本地仓库 | 超级详细,强烈建议收藏! 环境:Ubuntu20.04 安装目标:maven3.8 1、http://maven.apache.org/download.cgi maven官网下载 阅读详情

相关推荐

【黑马-产品经理入门基础课笔记】01.认识产品经理

问题定义 ==> 可行性研究 ==> 需求分析。

2401_88466092的博客 1841

UOS安装并配置Maven工具

UOS安装并配置Maven工具

weixin_45439281的博客 3515

硬件基础——mos管

文章目录前言一、寄生参数二、使用步骤1.引入库2.读入数据总结 前言 MOS管设计重点 一、寄生参数 1.寄生电容 mos管有寄生电容Cgs,此电容大小一般为pF级别,一般规格书可以查到。 使用时,要特别注意GS管教的寄生电容Cgs,控制MOS管的导通与截止,本质上是控制Cgs电容的充放电。(最好要加限流) 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt imp

Malqaq的博客 6593

统信uos安装maven并配置阿里镜像

统信uos安装maven并配置阿里镜像

weixin_44491016的博客 2620

Unity中URP实现水体效果(泡沫)

在上篇文章中,我们实现了水体的深度。在这篇文章中,我们来使用上篇文章采样后的深度图来实现水中的泡沫效果。

楠溪泽岸的博客 3489

2023年全国城市房价分布网格数据

本文介绍了一份2023年全国主要城市房价分布的网格数据,数据以250米×250米的网格为单位,记录了住宅小区数量、均价、最高价和最低价等信息。数据采用GCJ-02坐标系,提供ShapeFile、GeoJSON和CSV三种格式

J_Giser的博客 374

Java开发环境搭建—UOS系统

国产统信系统配置Java开发环境

喵织的博客 3872

Android功耗系列专题理论之二十一:Power Monitor测功耗详细说明和注意事项

本文详细介绍了PowerMonitor手机功耗测试仪的功能与使用方法。该设备通过硬件连接替代手机电池,实时监测电流、电压等参数,适用于研发测试、软件优化等场景。文章包含设备接线说明(电源、USB、手机供电等接口)、驱动安装步骤及常见问题排查,并详细讲解了功耗测量操作流程,包括电压设置、开机步骤、数据采集与导出方法。特别强调了测量注意事项,如固定屏幕亮度、关闭后台应用、确保稳定连接等,以确保测试数据准确性。最后提供了简易测量步骤和详细测量流程指导。

589

Maven安装配置

官网下载地址:https://maven.apache.org/download.cgi 解压即可使用。 环境变量配置 第4步的变量值为:maven解压地址路径的bin目录 到这里环境变量配置完成。 Win+R:cmd打开命令提示

反派的大佬的博客 524

Apollo 9.0 速度非线性规划算法 – piecewise jerk speed nonlinear optimizer Ⅰ

二次规划的速度规划算法(PiecewiseJerkSpeedOptimizer)的存在两个问题: 这里以一张图来说明上面的问题,假设存在一个实际限速区间(或曲率很大需要降速的区间)[S1, S2],PiecewiseJerkSpeedOptimizer的做法是根据动态规划的st曲线(黑色),找到具体的时间区间[T1, T2],然后对区间[T1, T2]内所有的点施加约束或惩罚。但是二次规划平滑后的曲线(黄色)发生了变化,那么限速区间[S1, S2]对应的时间区间[T1, T2]也发生了变化,所以实际应该是对

WaiNgai 331

串口通信的性能瓶颈分析:如何提高数据吞吐量和降低延迟

摘要: 串口通信在高频或大数据场景下存在吞吐量不足、延迟高、丢帧等问题,主要瓶颈包括波特率限制、缓冲区不足、CPU轮询延迟等。优化策略包括:提升波特率至硬件上限、增大缓冲区、采用异步I/O(如ReadAsync)减少线程切换,使用二进制协议降低解析开销。实时性方面需启用硬件流控、批量发送数据,并优化线程优先级。跨平台适配需区分Windows/Linux的缓冲区设置与异步机制。性能测试可通过吞吐量、延迟及回环测试验证优化效果,核心原则是硬件匹配、异步处理、协议优化与跨平台适配。(150字)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 979

DeepIn,UOS统信专业版安装运行Java,JavaFx程序

因为Linux下,下载的是openJdk,而openJdk是没有附带JavaFx,而Windows上用的是OracleJdk是有JavaFx,虽然Oracle后面的Jdk版本也把JavaFx分开了,但是Oracle jdk1.8是有的,这就是导致JavaFx不能跨环境运行的原因,找到原因,于是开始操作,我先想到的是把openjdk缺的Jfx组件补上,发现不行,找到Linux各样技术文章总结大致步骤应该如下,Exec字段要写上jdk的文件路径,如果配置环境则不需要,保存之后双击jar文件即可运行了。

androidforwell的博客 3207

Python全栈项目--手机语音远程控制智能家居系统(含嵌入式控制)

摘要:本项目实现了一个基于Python全栈的智能家居语音控制系统,支持手机端语音指令控制家居设备。系统采用FastAPI后端+Vue3前端的架构,集成Web Speech API实现语音识别,通过嵌入式设备(如ESP32)执行硬件控制。功能包括用户认证、设备管理、场景联动、指令解析和日志记录,支持HTTP轮询和直推两种命令下发模式。项目涵盖物联网全链路开发,适用于课程设计或毕业设计原型开发。

exlink2012的专栏 877

MAVEN安装,以及中央仓库的配置(windows&linux)

Maven是一个项目管理和理解工具。Maven为项目提供了一个完整的构建生命周期框架。使用Maven,开发者可以构建和管理任何基于Java的项目。本教程将指导您在Windows和Linux(Ubuntu)系统上安装Maven,并配置中央仓库以加速依赖管理。

常备不懈 1344

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

maven 发布到 sonatype 中央仓库 gpg 证书

目标:把私钥备份导入本机 GPG 密钥库,让命令行能够读到私钥,解决报错。必须是以开头的私钥备份文件,不是公钥。完全关闭 Kleopatra 可视化工具,避免密钥库占用冲突。打开电脑命令行,cd 切换到该 asc 文件所在目录。执行导入命令:若提示输入密码,输入该 GPG 密钥的私钥口令(不是 Sonatype 网站账号密码)。看控制台日志,必须出现,代表私钥真正导入。导入完成立即校验私钥是否存在:✅ 输出出现sec开头行:私钥导入成功,可以继续后续 Maven 配置和发布操作。

小单的博客专栏 898

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Ubuntu 22.04.1 LTS下载安装配置maven

ubuntu下载安装配置maven

QianKun 3678

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Ubuntu下Maven安装和使用

Ubuntu下Maven安装和使用 一、安装Maven 安装Maven之前,必须安装了JDK,另外IDEA可以从https://download.jetbrains.8686c.com/idea/ideaIC-2016.2.5.tar.gz下载,里面有说明如何安装IDEA 1.1 首先下载Maven的压缩包 下载apache-maven-3.3.9.bin.tar.gz 1....

ac_dao_di的专栏 6万+

ubuntu安装maven_Linux操作系统下将项目发布到Maven中央仓库图文教程

如题,本文将介绍如何在Linux环境下快速地将本地的JAR包发布至Maven中央仓库,分享给其他的开发者使用。其他操作系统下的操作过程大致相同(MacOS和Windows下的GPG只时安装的文件略微有差异)。作为一名Java开发者,学习此技能很有必要!首先,假定你在本地机器上已经完成了基于Maven的软件编码工作。接下来,需要将工程打包上传至Maven中央仓库,需要准备的工作如下:1.Sonaty...

weixin_39956612的博客 244

ubuntu安装maven_手把手教你将 Java 项目推送到 Maven 中央仓库实践

点击上方☝SpringForAll社区轻松关注!及时获取有趣有料的技术文章本文来源:http://www.mydlq.club/article/15/. 一、将项目推送到 Github. 二、注册 Sonatype 账户. 三、登录 Sonatype 创建工单. 四、确认域名. 五、配置 GPG. 1、下载 GPG. 2、配置密钥对. 3、上传公钥到 GPS key-servers. ...

weixin_39528559的博客 259

Ubuntu16里Maven3.6.3的安装与配置

Maven是一个跨平台、开源的项目构建工具,可以实现项目的自动化构建,从清理、编译、测试到生成报告,再到打包和部署。它可以一条命令,来管理项目的整个生命周期,规避了繁琐的编译、源码分支管理等,更加人性化,大大缩短了项目的部署和调试时间。 这里介绍,在Ubuntu16上,安装Maven 3.6.3并配置其环境。

sanqima的专栏 1414

Ubuntu安装配置Maven私服Nexus

1、 简介 Maven是什么?Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model(POM)的概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件来管理maven项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。 maven的仓库可以分为两大类: ①本地仓库 ②远程仓...

Button的博客 4174

使用Nexus在Ubuntu环境下搭建Maven私服

最近公司上新项目,需要通过Nexus来搭建一套内部使用的Maven仓库,以前都是习惯直接从阿里云镜像仓库上直接拉取对应的jar包,这次也要自己体验一下,搭建一个属于自己的Maven仓库Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库,比如常见的阿里云镜像仓库)。这里要注意,并不是说Maven私服只能架设在局域网,像我前公司,就是把Maven私服部署到公网上的,当然架设在局域网标识着只能在公司内部使用,保密级别更高。

心向阳光的天域的博客 3797

在Ubuntu16.04平台上采用Nexus仓库管理搭建Maven私有服务器

一、环境搭建 1、首先下载nexus-3.13.0-01-unix.tar.gz,然后解压,解压出来后如下图: 其中nexus3.13.001是Nexus的系统文件, sonatypework是Maven私服的工作目录,我们上传和下载的jar都在这里面 2、修改nexus的运行用户为root和启动时要使用的jdk版本 路径:vim /opt/softwork/nexus3.13.001unix/ ...

qq_20845741的博客 435

Eclipse中Maven的安装与配置

Maven简单介绍:       Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。       作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。 什么是项目构建:   &nbsp...

weixin_43939301的博客 4747

【安卓开发系列 -- 开发环境】Maven私服简介与搭建实战

【安卓开发系列 -- 开发环境】Maven私服简介与搭建实战 【1】Maven 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件,搭建私服之后,当 Maven 需要下载构件时会直接请求私服,若私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载; 【2】ubuntu 下搭建Maven私服实战 【2.1】Nexus 安装与运行 Nexus 专业版本付费,采用开源版 Nexus OSS,下载地址:Nexus OSS

CopperSun 技术博客 530

Ubuntu16.04.6下搭建Maven私服仓库(Nexus)

下载Nexus apt-get update docker pull sonatype/nexus3 cd /usr/local/ mkdir docker cd docker mkdir nexus cd nexusdocker-compose.yml vim docker-compose.yml 内容如下 version: '3.1' services: nexus: restart: always image: sonatype/nexus3 container_name:

huangjiazhi_的博客 1154
上一篇: 不懂开源框架?这份“SSM”面试集锦,让你轻松应对框架轰炸
下一篇: Hbase Java API原理介绍
Java_ttcd
博客等级 码龄4年 198粉丝 190原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值