关于nexus:上传jar到私服Generate-a-POM-file-with-these-coordinates-需要勾选吗

如果不勾选,上传胜利后,其余我的项目配置好依赖包的groupId、artifactId和version后,是能够从私服下载到该jar包,然而无奈主动下载关联依赖,也就是说,如果手动上传的jar,在本人的pom中申明了其余jar的依赖,这些信息无奈被依赖了该jar的我的项目主动获取。

July 5, 2022 · 1 min · jiezi

关于nexus:离线安装Nexus

前置要求零碎先装置jdk,参考Linux装置jdk。 装置Nexus1.解压nexus安装包tar -xvf nexus-3.35.0-02-unix.tar.gz2.批改nexus-default.properties配置文件默认配置也能够 # 批改配置,默认也能够vi nexus-3.35.0-02/etc/nexus-default.properties配置内容如下: ## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties### Jetty sectionapplication-port=8003application-host=0.0.0.0nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xmlnexus-context-path=/# Nexus sectionnexus-edition=nexus-pro-editionnexus-features=\ nexus-pro-featurenexus.hazelcast.discovery.isEnabled=true启动Nexus# 启动./nexus-3.35.0-02/bin/nexus start# 重启./nexus-3.35.0-02/bin/nexus restart# 进行./nexus-3.35.0-02/bin/nexus stop应用Nexus浏览器拜访:http://ip:port点击右上角 Sign In 提醒你的admin用户的明码在服务器中的【/home/nexus/sonatype-work/nexus3/admin.password】应用cat /home/nexus/sonatype-work/nexus3/admin.password 命令查看明码 启用匿名拜访 1.创立blob存储 2.创立hosted类型的maven 3.创立proxy类型的mavenname:proxy-mavenRemote storage:http://maven.aliyun.com/nexus/content/groups/public/ 4.创立一个group类型的mavenname:group-maven 5.maven地方仓库地址 批量上传本地maven仓库到Nexus中在nexus服务器中创立一个文件夹MavenRepository mkdir mavenRepositorycd mavenRepository上传本地maven仓库jar文件到MavenRepository目录下在MavenRepository目录下创立脚本 vi mavenimport.sh增加如下脚本内容: #!/bin/bash# copy and run this script to the root of the repository directory containing files# this script attempts to exclude uploading itself explicitly so the script name is important# Get command line paramswhile getopts ":r:u:p:" opt; do case $opt in r) REPO_URL="$OPTARG" ;; u) USERNAME="$OPTARG" ;; p) PASSWORD="$OPTARG" ;; esacdone find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;给脚本赋予可执行权限 ...

November 4, 2021 · 1 min · jiezi

关于nexus:在云效中如何使用Nexus搭建自己的Maven仓库

在云效中如何应用Nexus搭建本人的Maven仓库,云效提供了企业级Maven公有仓库服务,用户能够应用它来托管本人的公有二方库。用户也能够本人搭建Maven私服。以下是应用Nexus搭建云效Maven私服的指南,能够在云效中应用Nexus搭建本人的Maven仓库。 本文中应用的是Nexus Repository Manager OSS nexus 3.5.0-02。下载链接为 https://www.sonatype.com/download-oss-sonatype。装置和应用请参考其官网文档。 假如您的Nexus服务器的域名(或者您偏向于间接应用IP也能够)是www.your-repo.com 保障私服公网可见 首先要保障您的私服在公网是可见的,这样云效能力从您的私服下载二方包。验证形式:在一台您的企业内网之外的机器上执行telnet www.your-repo.com 80,如果没有返回谬误,则示意该私服是公网可见的。 保障私服中的库不能被匿名下载 Nexus默认的配置,容许匿名下载maven库中的包。须要将其禁止掉。具体做法如下。 开启下载包的HTTP认证 在nexus-default.properties增加一行nexus.browserdetector.disable=true。重启nexus。 敞开匿名用户 保障下图中Allow anonymous users to access the server是没有选中的。 创立用户上传和下载二方包的maven库 在Nexus上创立了一个名为my-lib-repo的maven库。 为maven库创立用户 Nexus会为您创立的maven库预置一些权限点,接下来须要创立一个角色,来蕴含只读的权限点。 而后再创立一个用户来应用该角色。用户名和明码都是my-lib-repo-reader。 ![上传中...]() 在settings.xml中增加认证信息 在Maven的的默认settings.xml中找到servers的局部,增加一个server配置如下。 为了保障云效应用该settings.xml,须要把该settings.xml文件搁置到您的代码库的根目录。 配置pom.xml的下载包程序 为了让您的Maven构建先尝试从maven.aliyun.com下载包,如果下载不到再从http://www.your-repo.com/repo...下载包,须要依照如下的形式配置pom.xml: 您的maven构建无论下载依赖包还是插件包,都会首先尝试从maven.aliyun.com下载,如果下载不到,再从http://www.your-repo.com/repo...下载。 公布二方包 如果您须要公布二方包,须要给角色my-lib-repo-read增加相应的权限。 同时要在本人的pom.xml中增加配置如下: 而后就能够在构建配置的build.command中应用mvn deploy命令上传二方包了。 样例文件如下:pom.xmlsettings.xml 在云效中如何应用Nexus搭建本人的Maven仓库,云效提供了企业级Maven公有仓库服务,用户能够应用它来托管本人的公有二方库。用户也能够本人搭建Maven私服。以上就是应用Nexus搭建Maven私服的指南,在云效中应用Nexus搭建本人的Maven仓库。

September 16, 2021 · 1 min · jiezi

关于nexus:Nexus搭建Docker私人仓储

筹备好Nexus如何装置Nexus请看其余文章,不是本文重点 建设Docker仓储核心blob仓储点docker central类型:docker proxydocker的代理,pull能够通过此仓储代理, 应用的端口被代理的地址,我这里应用的是阿里云前两个任意选一个,速度最快是应用第1个 docker release类型:docker hosted本人的镜像公布核心,push镜像应用该地址 应用的端口 docker public类型:docker group 应用的端口是否容许匿名用户pull镜像,能够不选组内成员,退出的成员能够被pull应用docker组,pull镜像时,应用该地址,能够从docker central和docker release中搜寻 增加好之后的样子配置Docker配置地址 { "registry-mirrors": [ "http://192.168.1.200:7021" ], "insecure-registries": [ "192.168.1.200:7021", "192.168.1.200:7022", "192.168.1.200:7023" ], "experimental": false, "features": { "buildkit": true }}registry-mirrors是注册核心insecure-registries是容许应用HTTP而不是HTTPS进行非平安的拜访地址,因为之前配置的地址均没有应用HTTPS平安拜访,所以这里设置容许非平安的HTTP形式拜访它们。也能够自行配置HTTPS平安拜访模式NOTES:如果为了简略,也能够只配置docker release一个仓储点。 应用pull docker pull 192.168.1.200:7021/mysql:5.7.19 从指定的地址拉取镜像docker pull mysql:5.7.19 从默认的注册核心拉取镜像push docker login -u admin 192.168.1.200:7023 登录docker tag mysql:latest 192.168.1.200:7023/mysql:latest 给镜像打标签docker push 192.168.1.200:7023/mysql:latest push打好标签的镜像

April 27, 2021 · 1 min · jiezi

Linux搭建自己Nexus私服

本文介绍如何在Linux服务器通过Docker搭建Nexus私服 一、安装Nexusdocker run -d -p 8081:8081 --name nexus -v /srv/nexus/nexus-data:/var/nexus-data --restart=always sonatype/nexus3通过docker logs -f nexus查看启动日志,当出现Started Sonatype Nexus OSS说明启动成功,这时通过http://ip:8081即可访问点击右上角Sign in进行登录,账号为admin,密码需要去镜像中查看 # 进入镜像docker exec -it nexus bash# 查看密码,路径在登录框会提示,然后复制即可,登陆成功后会让你修改密码cat /nexus-data/admin-password至此,就启动完成了,进入主页后点击左边菜单栏的Browse即可查看你拥有的仓库啦 二、Nexus仓库1、仓库类型Nexus有四种仓库和四种仓库类型 a、仓库仓库名描述maven-centralmaven中央库,默认从https://repo1.maven.org/maven...maven-releases私库发行版jarmaven-snapshots私库快照(调试版本)jarmaven-public仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用b、类型类型描述group(仓库组类型)用于方便开发人员自己设定的仓库hosted(宿主类型)内部项目的发布仓库(内部开发人员,发布上去存放的仓库)proxy(代理类型)从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径)virtual(虚拟类型)虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用)2、拉取jar包流程Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件,为了方便,Maven可以从仓库组下载构件,而仓库组并没有实际的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容) 3、创建仓库进过上面的讲解,我们对仓库已经有了了解,接下来我们进行创建仓库,分为是代理仓库(proxy)、宿主仓库(hosted)、仓库组(group),点击主页上面的小螺丝然后在选择Repositories进入仓库管理列表,然后就可以开始创建我们的仓库啦,选择仓库类型的时候一定要选择maven2 a、proxy代理仓库我们使用阿里的中央仓库 b、hosted宿主仓库这里可以创建releases和snapshot类型的仓库,这里就演示一种 c、group仓库组 三、项目配置前两章走完我们已经在Linux服务器部署好了nexus并且创建好了我们的仓库,接下来我们就来试着在项目中配置 1、创建一个Maven项目为了演示,就随便创建个工具类玩,以下是目录结构 2、pom文件这里为了演示我就配了release仓库,实际上应该同时要配置snapshot仓库,maven会判断版本后面是否带了-SNAPSHOT,如果带了就发布到snapshots仓库,否则发布到release仓库 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gjing</groupId> <artifactId>demo</artifactId> <version>1.0</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <distributionManagement> <repository> <!--ID可以随便写,但是要与maven的setting文件中一致--> <id>releases</id> <!--指向仓库类型为hosted(宿主仓库)的储存类型为Release的仓库----> <url>http://你nexus仓库的IP:8081/repository/me-release/</url> </repository> </distributionManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </build></project>3、maven配置setting文件id一定要和项目pom文件中的一致 ...

October 7, 2019 · 1 min · jiezi

阿里云 ECS服务器(CentOS 7)安装和使用Nexus教程

1、前言最近项目需要搭建maven私服,方便管理后期团队成员使用上传自己的包,因此决定使用nexus来搭建私服,搭建好的nexus地址。2、准备工作 阿里云服务器ECS一台 1核CPU 2G内存(注意:最低为2G,否则运行报错)3、开始安装3.1 安装javajava的安装网上的文章好多,不过我是自己写的shell文件安装的,如下:#!/bin/bash# jdk install# 请将下载的jdk-xxx-linux-xxx.tar.gz包与此脚本放置到同一目录# 授予此脚本可执行权限(chmod +x install_jdk.sh)# 在终端执行此脚本开始安装(./文件名)# 注意:不可有多个版本的jdk包!# 为了使配置的环境变量生效,安装完成后你应该重新登陆。jvmpath=/usr/local/java# 不存在if [ ! -d “$jvmpath” ]; then echo “正在创建$jvmpath目录” sudo mkdir $jvmpath echo “目录$jvmpath创建成功"fijdkfile=$(ls | grep jdk--linux-.gz)jdkdirname=“jdk1.8.0_201"if [ ! -f “$jdkfile” ]; then echo “正在下载jdk请稍等…” wget –no-cookies –no-check-certificate –header “Cookie: oraclelicense=accept-securebackup-cookie” “https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz"fijdkfile=$(ls | grep jdk--linux-.gz)if [ -f “$jdkfile” ]; then sudo tar -zxvf $jdkfile -C /usr/local/java/ echo “安装JDK成功” echo “配置环境变量” mv ~/.bashrc ~/.bashrc.backup.java cat ~/.bashrc.backup.java >> ~/.bashrc echo “PATH="$PATH:$jvmpath/$jdkdirname/bin"” >> ~/.bashrc echo “JAVA_HOME=$jvmpath/$jdkdirname” >> ~/.bashrc echo “CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar” >> ~/.bashrc source ~/.bashrc echo “配置环境成功” echo “测试是否安装成功” java -version echo “安装成功"fi执行该shell文件,如下所示:3.2 安装mavenmaven安装我也是自己写的shell文件,如果你们不想用我的可以到网上找文章看看吧,下面是我的shell文件:#!/bin/bash# maven installmvnpath=/usr/local/maven# 不存在if [ ! -d “$mvnpath” ]; then echo “正在创建$mvnpath目录” sudo mkdir $mvnpath echo “目录$mvnpath创建成功"fi#apache-maven-3.6echo “正在下载maven安装包,请稍等…“wget –no-cookies –no-check-certificate –header “Cookie: oraclelicense=accept-securebackup-cookie” “http://211.162.31.136/files/71480000031E20AE/mirrors.hust.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz"mvnfile=$(ls | grep apachemaven-.gz)if [ -f “$mvnfile” ]; then #这个名字其实就是mvn .tar.gz解压之后的文件夹的名字 mvndirname=“apache-maven-3.6.0” #不能加 用’zxvf’ 加了 z 就创建了包里面的apace* 文件夹,而我们只要把apace文件夹下的文件全部解压到 mvnpath里面就好 tar zxvf $mvnfile -C $mvnpath echo “安装maven成功” echo “配置环境变量” mv ~/.bashrc ~/.bashrc.backup.mvn cat ~/.bashrc.backup.mvn >> ~/.bashrc echo “PATH="$PATH:$mvnpath/$mvndirname/bin"” >> ~/.bashrc echo “MAVEN_HOME=$mvnpath/$mvndirname” >> ~/.bashrc source ~/.bashrc echo “配置环境成功” echo “测试是否安装成功” mvn -v echo “安装成功"else echo “没有找到maven文件"fi执行该shell文件,如下所示:3.3 安装nexusnexus虽然我也是使用shell文件安装,但有些配置我们还是要手动设置,下面是安装shell文件:#!/bin/bash#判断是否是roo用户if [ $(id -u) != “0” ]; then echo “Error:You must be root to run this script"fi#每次使用只需修改自定义内容即可#自定义用户名和组Group_Name=“nexus"User_Name=“nexus”#自定义nginx变量Install_Path="/usr/local/nexus"Version=“nexus-3.15.0-01"Package_Type=".tar.gz"Package=$Version$Package_Type#创建/usr/local/nexus目录#mkdir /usr/local/nexusif [ -e $Install_Path ]then echo " $Install_Path 目录已经存在.” echo " $Install_Path Directory Already Exists.“else echo " $Install_Path 目录正在创建.” mkdir $Install_Pathfi#下载nexus 文件Setup_path="/root/“cd $Setup_pathwget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.15.0-01-unix.tar.gzGroup_User(){egrep “^$Group_Name” /etc/group >& /dev/nullif [ $? -ne 0 ]then echo “nexus 用户组正在添加.” groupadd $Group_Nameelse echo " The $Group_Name user group already exists.” echo “nexus 用户组已经添加.“fi#判断nexus用户是否存在egrep “^$User_Name” /etc/passwd >& /dev/nullif [ $? -ne 0 ]then echo “nexus 用户正在添加.” useradd -g $Group_Name $User_Nameelse echo “nexus 用户已经添加.” echo " The $User_Name user already exists.“fi}Group_User# 设置/usr/local/nexus 目录所属组和用户是nexuschown -R nexus:nexus $Install_Path#判断文件是否存在if [ -e $Setup_path$Version$Package_Type ]then echo “$Package The Package exists.“else echo “$Package The package does not exist.“ficd $Setup_path#解压nexus包到/usr/local/nexustar -zxvf $Package -C $Install_Pathecho ‘设置环境变量’mv ~/.bashrc ~/.bashrc.backup.nexuscat ~/.bashrc.backup.nexus >> ~/.bashrcecho “NEXUS_HOME=$Install_Path/$Version” >> ~/.bashrcecho “PATH="$PATH:$NEXUS_HOME/bin"” >> ~/.bashrc# 切换nexus用户su nexusecho ‘接下来配置:1、vim bin/nexus.rc run_as_user=“nexus”’ 安装完成之后,我们到/usr/local/nexus/nexus-3.15.0-01/bin目录下修改nexus文件# 设置本地jdk目录INSTALL4J_JAVA_HOME_OVERRIDE="/usr/local/java/jdk1.8.0_201” 接着,我们相同目录下nexus.rc文件,如下 # 指定用户是nexus而不是root,如果是root会出现警告!run_as_user=“nexus” 好了,这样就安装好了,我们访问下网站,注意默认端口是8081,账号:admin,密码:admin123 3.4 免费申请阿里云SSL证书购买成功之后,配置好域名,我这里的域名是: nexus.awbeci.com,设置好之后等待审核,审核成功之后选择nginx版本并下载证书下载完成之后是个.zip的压缩包,我们上传到服务器上,使用下面命令:scp your-cert.zip root@your-server-ip:/your-server-directory上传成功之后我们等待下一步操作。3.5 安装nginx并代理nexus 8081端口,同时配置https访问因为访问网站的时候端口是8081,所以想要使用80端口访问的话,我们就用nginx 80端口代理8081,同时设置https访问 安装nginx 我们还是通过shell文件来安装,如下 #!/bin/bash#判断是否是roo用户if [ $(id -u) != “0” ]; then echo “Error:You must be root to run this script"fi#每次使用只需修改自定义内容即可#自定义用户名和组Group_Name=“nginx"User_Name=“nginx”#自定义nginx变量Install_Path="/usr/local/nginx"Package_Type=".tar.gz"Version=“nginx-1.15.8"Package=$Version$Package_TypeSetup_path="/root/“RPM=“nginx”#创建/usr/local/nginx目录#mkdir /usr/local/nginxif [ -e $Install_Path ]then echo " $Install_Path 目录已经存在.” echo " $Install_Path Directory Already Exists.“else echo " $Install_Path 目录正在创建.” mkdir $Install_Pathfi #下载nginx 文件cd $Setup_pathwget http://nginx.org/download/nginx-1.15.8.tar.gz#安装依赖关系yum group install “Development Tools” “Server Platform Deveopment"yum install -y curl openssl-devel pcre-develGroup_User(){egrep “^$Group_Name” /etc/group >& /dev/nullif [ $? -ne 0 ]then echo “nginx 用户组正在添加.” groupadd $Group_Nameelse echo " The $Group_Name user group already exists.” echo “nginx 用户组已经添加.“fi#判断nginx用户是否存在egrep “^$User_Name” /etc/passwd >& /dev/nullif [ $? -ne 0 ]then echo “nginx 用户正在添加.” useradd -g $Group_Name $User_Nameelse echo “nginx 用户已经添加.” echo " The $User_Name user already exists.“fi}Group_User#判断文件是否存在if [ -e $Setup_path$Version$Package_Type ]then echo “$Package The Package exists.“else echo “$Package The package does not exist.“fi#编译安装nginxcd $Setup_path#解压nginx包到/usr/local/nginx tar -zxvf $Package -C $Install_Pathcd $Install_Pathcd $Versionconfigure_opts=( –prefix=$Install_Path –user=nginx –group=nginx –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module )./configure ${configure_opts[@]}if [[ $? -eq 0 ]]then make && make installelse echo “编译失败,请重新编译” && exit 1fi#添加Nginx命令到环境变量cat >/etc/profile.d/nginx.sh <<EOFexport PATH=/usr/local/nginx/sbin/:$PATHEOFsource /etc/profile#启动服务/usr/local/nginx/sbin/nginxss -tnlp | grep nginx 安装成功后,我们把一步上传的证书.zip复制到/root文件夹下,并解压缩,如下: # 创建ssl文件夹mkdir -p /usr/local/nginx/cert# 把上一步的.zip证书解压并复制到ssl文件夹下unzip /root/your-cert-package.zip# 解压之后应该是两个文件.pem和.key# 复制.crt和.key文件到ssl目录下cp your-cert.crt your-cert.key /usr/local/nginx/cert 设置好之后,接下来我们配置/usr/local/nginx/conf/nginx.conf文件,如下所示:#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; client_max_body_size 100m; client_header_timeout 1m; client_body_timeout 1m; proxy_connect_timeout 18000; ##修改成半个小时 proxy_send_timeout 18000; proxy_read_timeout 18000; #log_format main ‘$remote_addr - $remote_user [$time_local] “$request” ’ # ‘$status $body_bytes_sent “$http_referer” ’ # ‘"$http_user_agent” “$http_x_forwarded_for”’; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name nexus.awbeci.com; return 301 https://nexus.awbeci.com$request_uri; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://127.0.0.1:8081; #代理8081端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } } # HTTPS server # server { listen 443 ssl; server_name nexus.awbeci.com; ssl_certificate /usr/local/nginx/cert/nexus.awbeci.com.pem; ssl_certificate_key /usr/local/nginx/cert/nexus.awbeci.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8081; #代理8081端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } }} 这样就成功的配置好了,现在我们重启下nginx,并访问nexus.awbeci.com网站看看 # 重启nginx/usr/local/nginx/sbin/nginx -s reload4、开始使用Nexus4.1 Nexus介绍这里有一篇文章写得非常好,大家可以看看,我就不特别详细的写介绍了,主要还是告诉你们怎么结合项目使用。4.2 创建Blob Stores4.3 创建User4.4 创建阿里云的代理仓库然后再public组里面将这个aliyun-proxy仓库加入,排在maven-central之前即可4.5 创建Host仓库 策略是release4.6 创建Host仓库 策略是snapshots创建好之后我们再来Public设置下优先顺序,把刚才加的两个仓库放到aliyun-proxy前面创建完仓库预览4.7 配置本地maven settings.xml提示:两种配置方法,一种是直接配置maven目录下的conf下的settings.xml文件,另外一种是复制该文件到用户目录下的.m2目录,两种方法配置效果是一样的,看个人喜好了,加载顺序是.m2下的settings.xml目录接着是maven config目录下的settings.xml,配置文件如下:<?xml version=“1.0” encoding=“UTF-8”?><settings xmlns=“http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=“http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <pluginGroups> </pluginGroups> <proxies> </proxies> <servers> <!–这里配置我们刚才创建的user用户所对应的releases–> <server> <id>releases</id> <username>user</username> <password>123456</password> </server> <!–这里配置我们刚才创建的user用户所对应的Snapshots–> <server> <id>Snapshots</id> <username>user</username> <password>123456</password> </server> </servers> <mirrors> <!– <mirror> <id>nexus-aliyun</id> <mirrorOf></mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> –> <!–这里配置我们线上的public仓库就好–> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>https://nexus.awbeci.com/repository/maven-public/</url> </mirror> </mirrors> <profiles> </profiles> <activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles></settings>4.8 配置要上传到nexus项目pom.xml文件 <packaging>jar</packaging> <distributionManagement> <!–配置线上releases仓库地址,只要是正式版本都会上传到该地址(注意要和settings.xml文件里面的配置名称相同)–> <repository> <id>releases</id> <url>https://nexus.awbeci.com/repository/awbeci/</url> </repository> <!–配置线上Snapshots仓库地址,只要是快照版本都会上传到该地址(注意要和settings.xml文件里面的配置名称相同)–> <snapshotRepository> <id>Snapshots</id> <url>https://nexus.awbeci.com/repository/awbeci-snapshots/</url> </snapshotRepository> </distributionManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> <executions> <execution> <id>deploy</id> <phase>deploy</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> </plugins> </build></project>4.9 编辑并发布jar包mvn clean && mvn deploy -DskipTests=true执行完成后,我们到线上看看是否上传成功可以看到不管是release版本还是snapshot版本都上传并发布成功4.10 测试发布的包自己新建一个maven项目,然后引入我们刚才发布的release包<dependency> <groupId>com.awbeci</groupId> <artifactId>awbeci-core</artifactId> <version>1.0.8-SNAPSHOT</version></dependency>执行该代码,如下所示:测试成功!!!4.10 上传第三方包有两种方式,一种是命令mvn deploy:deploy-file \ -DgroupId=<group-id> \ -DartifactId=<artifact-id> \ -Dversion=<version> \ -Dpackaging=<type-of-packaging> \ -Dfile=<path-to-file> \ -DrepositoryId=<server-id-settings.xml> \ -Durl=<url-of-the-repository-to-deploy>另外一种是使用Nexus上传两种方式结果都是一样,就看你偏向哪种了。5、总结 1)服务器内存刚开始配置是1CPU 1G 内存,nexus start运行之后报错,升级服务器为2G内存之后就没问题了 2)nexus 默认是8081端口,我们可以修改文件/usr/local/nexus/nexus-3.15.0-01/etc/nexus-default.properties## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties### Jetty section# 设置成自己想要的端口application-port=8081application-host=0.0.0.0nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xmlnexus-context-path=/# Nexus sectionnexus-edition=nexus-pro-editionnexus-features=\ nexus-pro-feature值得注意的是不能把端口直接改成80,这样你就不能启动nexus,所以我们是通过nginx 80端口代理8081端口了。3)nexus 配置内存是在 /usr/local/nexus/nexus-3.15.0-01/bin/nexus.vmoptions-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=false4)最好自己创建nexus用户,不要使用root用户启动nexus否则会出现警告WARNING: ************************************************************WARNING: Detected execution as “root” user. This is NOT recommended! WARNING: ************************************************************Starting nexus6、引用Maven私服Nexus3.x环境构建操作记录Nexus 3.x Linux环境搭建(手把手) 排坑之旅Centos7.3安装nexus-3.14.0-04搭建nexus3版的maven私服(Centos7环境)Gitlab+Nexus Maven部署Linux 使用 Nexus3.x 搭建 Maven 私服指南maven私服nexus3.x搭建与使用centos7搭建nexus maven私服centos7搭建nexus maven私服Maven NexusNexus 私有仓库搭建与 Maven 集成Nexus max file descriptorsmaven私服nexus3.x环境配置搭建Maven私服-Nexus ...

January 19, 2019 · 4 min · jiezi