Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Maven 基础入门使用

Maven 基础入门使用

作者头像
全栈工程师修炼指南
发布于 2022-09-29 07:45:10
发布于 2022-09-29 07:45:10
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

0x00 基础介绍

Maven 拉取 Jar 的几种途径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                -> 国外 Maven Jar 服务器
Gitlab -> Maven -> 国内 Maven Jar 镜像服务器
                -> 企业 内部 Maven Jar 私服服务器 (可以双向同步)

Maven版本:

version(SNAPSHOT):快照版本随时更新不稳定的,每个版本都只是特定时间点的快照。同时,SNAPSHOT的不稳定性会带来风险 ,本地仓库中快照版本的依赖的目录下会看到带有时间戳的jar包。 例如:A–>B-1.3.8-SNAPSHOT(理解为A依赖了B的1.3.8-SNAPSHOT版本),那么B-1.3.8-SNAPSHOT更新且重新deploy到仓库之后,A只需要重新构建就可以拿到最新的代码,不用修改依赖B的版本。这样达到了变更传达的透明性。 version(RELEASE):发布(正式)版本,是稳定的版本号,应该一旦发布永远不变。 version(LATEST):不稳定版本,不管是快照还是发布版,就是去拉最新的。

注意: 不推荐直接使用<version>RELEASE<version><version>LATEST<version>,因为它们都会在打包时去远程仓库拉取最新的,从而可能导致同一项目在打包时依赖不同的jar包。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#依赖是具体的发布版本x.RELEASE:
在本地仓库中搜索,找到则成功。
在远程仓库中搜索,找到则下载。
如果没有设置远程仓库,Maven 默认去中央仓库搜索,找到则下载。
在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。

#依赖是快照版本x.SNAPSHOTRELEASELATEST:
基于更新策略更新(updatePolicy= always),则总是尝试去远程仓库拉取最新版本
强制快照更新------mvn clean install-U

maven的三种仓库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- 1.本地仓库: 安装maven环境后会在本地生成一个`{%username%}/.m2/respository/`仓库位置,可在maven的配置文件`setting.xml`中更改此位置

0x01 环境安装

1.Maven 安装配置

安装包准备: Maven 官网下载地址: https://maven.apache.org/download.cgi

WeiyiGeek.核验下载

安装环境测试:

Java 的 hello-world 项目 Pom.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.weiyigeek.main</groupId>
  <artifactId>maven</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>hello-world</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>  
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-shade-plugin</artifactId>  
            <version>2.4.1</version>  
            <executions>  
                <execution>  
                    <phase>package</phase>  
                    <goals>  
                        <goal>shade</goal>  
                    </goals>  
                    <configuration>  
                        <transformers>  
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                                <mainClass>com.weiyigeek.main.maven.App</mainClass>  
                            </transformer>  
                        </transformers>  
                    </configuration>  
                </execution>  
            </executions>  
        </plugin>    
    </plugins>  
</build>
  
</project>

运行打包的 maven-0.0.1-SNAPSHOT.jar

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PS E:\githubProject\Study-Promgram\JAVAWeb\Maven\maven\target> java -jar .\maven-0.0.1-SNAPSHOT.jar
Hello World! , Hello Maven!

0x02 Maven 私服

1.环境搭建

安装 - Install

私服(nexus)搭建几种方式:

  • 1.Windows 、Linux、 Mac 运行即可
  • 2.Docker 部署安装
Docker 部署

描述: 前提是您的计算机或者远程服务器已经安装并配置好Docker;

Github docker-nexus3 镜像帮助: https://github.com/sonatype/docker-nexus3#getting-help

案例演示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 1.创建持久化目录与指定用户ID授权
mkdir -pv /app/nexus3/data && chown -R 200 /app/nexus3/data

# 2.拉取镜像
$ docker search nexus3
# NAME                                      DESCRIPTION                                     STARS
# sonatype/nexus3                           Sonatype Nexus Repository Manager 3             896
$ docker pull sonatype/nexus3

# 3.容器构建即运行nexus3
$ docker run -id --privileged=true --name=maven-nexus3 --restart=always -p 8081:8081 -v /app/nexus3/data:/nexus-data sonatype/nexus3
# 参数解释:
# -id 创建守护式容器
# --privileged=true 授予root权限(挂载多级目录必须为true,否则容器访问宿主机权限不足)
# --name=名字 给你的容器起个名字
# -p 宿主机端口:容器端口映射
# -v 宿主机目录:容器目录 目录挂载

# 4.日志查看
docker logs -f --tail 50 maven-nexus3
# 2020-11-16 02:38:16,366+0000 INFO  [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@48c1eded{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}  # 表示初始化完成
# 2020-11-16 02:38:16,367+0000 INFO  [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @30452ms
# 2020-11-16 02:38:16,368+0000 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer -
# -------------------------------------------------
# Started Sonatype Nexus OSS 3.28.1-01
# -------------------------------------------------

# 5.查看初始化密码
cat /app/nexus3/data/admin.password
配置 - Configure 描述: 配置私服得远程Maven的镜像仓库加快下载速度;

Step 0.访问 maven.weiyigeek.top:8081 的 Nexus3 平台 Step 1.Setting -> Repository -> Create Repository Step 2.Create Repository: maven2 (proxy)om/repository/public

WeiyiGeek.Maven Mirror Proxy Setting

使用 - Usage

1) 本地 Maven 使用远程私有仓库配置 文件路径(环境有所不同请根据实际情况修改): E:\Development\apache-maven-3.6.3-bin\conf\settings.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<mirrors>
  <!-- Maven 私服地址配置 -->
  <mirror>
      <id>private-maven</id>
      <mirrorOf>central</mirrorOf>
      <name>WeiyiGeek Private Maven</name>
      <url>http://maven.weiyigeek.top:8081/repository/maven-public/</url>
  </mirror>
</mirrors>

2) 上传本地jar到内部 Maven 私有仓库 描述: 大致可以通过三种方式进行上传Jar到内部 Maven 私有仓库中,第一种就是通过Web端上传,第二种通过mvn命令上传,第三种则是通过各开发工具上传例如IntelliJ IDEA.

通过 Sonatype Nexus Repository Manager 的 Web 页面进行上传Jar,操作流程Browse -> Upload-> Maven-release -> 选择要上传的jar包并设置该log4j-core.jar的组件相关信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependencies>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.16.0</version>
  </dependency>
</dependencies>

WeiyiGeek.通过Nexus Web上传jar包

通过 Maven 的 cmd 来上传自定义jar包, 首先需要先复制一份settings.xml为settings-private.xml,在settings-private.xml文件中加入节点server:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<server>
  <id>deployment</id>
  <username>dev</username>
  <password>dev123</password>
</server>

在命令行中输入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mvn deploy:deploy-file
-DgroupId=com.sjing.yjyuan
-DartifactId=fastjson-sj
-Dversion=1.0.1
-Dpackaging=jar
-Dfile=E:\installed\mavenRepository\fastjson-1.2.40.jar
-Durl=http://maven.weiyigeek.top/repository/maven-releases/
-DrepositoryId=deployment
--settings E:\installed\mavenRepository\settings-private.xml

通过IDE集成环境上传自定义jar包,首先还是在IDE集成环境中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<server>
  <id>nexus-release</id>
  <username>dev</username>
  <password>dev123</password>
</server>
<server>
  <id>nexus-snapshots</id>
  <username>dev</username>
  <password>dev123</password>
</server>

在maven工程项目nexus-upload中的pom文件中加入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--上传到nexus仓库中,配合mvn deploy:deploy-->
<distributionManagement>
 <repository>
     <!--这里的id需要和settings.xml中的server的id一致-->
     <id>nexus-release</id>
     <name>Nexus release Repository</name>
     <!--releases仓库-->
     <url>http://maven.weiyigeek.top/repository/maven-releases/</url>
 </repository>
 <snapshotRepository>
     <id>nexus-snapshots</id>
     <name>Nexus snapshots Repository</name>
     <!--snapshots仓库-->
     <url>http://maven.weiyigeek.top/repository/maven-snapshots/</url>
 </snapshotRepository>
</distributionManagement>

参考地址: https://www.cnblogs.com/tiancai/p/10063572.html https://www.cnblogs.com/endv/p/11204704.html https://blog.csdn.net/u013887008/article/details/79429973


问题 - Trouble Shooting

1) Nexus3.X 忘记密码之如何重置admin密码 解决办法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 1.进入容器
docker exec -it maven-nexus3 bash
bash-4.4$ cd /opt/sonatype/nexus/bin/
bash-4.4$ ls
contrib  nexus  nexus.rc  nexus.vmoptions  nexus.vmoptions.old
bash-4.4$ ls -alh ../lib/support/nexus-orient-console.jar
-rw-r--r-- 1 root root 6.6K Oct 14 18:24 ../lib/support/nexus-orient-console.jar

# 2.进入OrientDB控制台
# Linux、Windows、Mac有不同的进入方法,方法如下:
linux:  
  java -jar ./lib/support/nexus-orient-console.jar
win:  
  java -jar lib\support\nexus-orient-console.jar
mac: 
  .install4j/jre.bundle/Contents/Home/jre/bin/java -jar ./lib/support/nexus-orient-console.jar

# 3.登陆数据库
connect plocal:../sonatype-work/nexus3/db/security admin admin

# 4.重置密码,此处我们将admin用户密码重置为admin123
update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"

# 5.退出shell重新运行nexus3容器
docker restart maven-nexus3

https://www.sonatype.com/nexus/repository-oss/download

配置到你本地maven的settings文件 注意:是public group仓库地址而不是releases或snapshots仓库,public默认包含了这两个仓库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<profiles>
   <profile>  
   <id>dev</id>  
   <repositories>  
    <repository>  
       <id>local-nexus</id>
       <url>http://ip:8081/repository/maven-public/</url>  
       <releases>  
         <enabled>true</enabled>
       </releases>  
       <snapshots>  
         <enabled>true</enabled>  
       </snapshots>  
     </repository> 
   </repositories>  
 </profile>  
 </profiles>

 <activeProfiles>  
     <activeProfile>dev</activeProfile>  
   </activeProfiles>

配置maven settings文件的服务器用户名密码

注意:id为私服中releases和snapshots仓库名,必须一致 maven-releases admin admin123 maven-snapshots admin admin123

在项目父pom文件中配置部署环境,注意id及URL必须与nexus仓库对应

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--私服仓库-->
<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://ip:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>maven-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://ip:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

重新打开项目,对需要的模块进行deploy

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制




```xml
在项目父pom文件中配置部署环境,注意id及URL必须与nexus仓库对应
    <!--私服仓库-->
    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.3.128:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.3.128:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

0x03 mvn 命令浅析

参数解析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-pl,--projects : 选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔)
-am,--also-make : 表示同时处理选定模块所依赖的模块
-amd,--also-make-dependents : 表示同时处理依赖选定模块的模块
-N,--Non-recursive : 表示不递归子模块
-rf,--resume-from : 表示从指定模块开始继续处理
-X : 表示显示构建时的详细信息(Debug)

简单示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Maven 构建时显示详细信息
mvn install -X

# maven 下载单个源码包
mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=javax.mail:mail:1.1:jar:sources

# Maven 导出依赖的jar包 (默认导出到targed/dependency 下面)
mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile

实践示例

Maven之SpringBoot多模块编译以及单独构建多模块项目中的单个模块

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 首先切换到工程的根目录
# 可以通过pom.xml文件查看该POM项目包含的子模块
<modules>
  <module>weiyigeek-admin</module>
  <module>weiyigeek-front-login</module> # weiyigeek-admin 模块依赖于该模块
  <module>weiyigeek-front-search</module>
  <module>weiyigeek-front-pdf</module>
  <module>weiyigeek-front-history</module>
</modules>

# 方式1.构建该项目的所有模块项目,即 weiyigeek-* 所有项目
mvn clean package

# 方式2.只编译构建 weiyigeek-admin 项目
mvn clean install -pl org.top:weiyigeek-admin -am --settings settings.xml

# 方式3.编译构建 weiyigeek-admin 与 weiyigeek-front-login 项目
mvn clean install -pl weiyigeek-front-login -amd --settings settings.xml
 
# 方式4.从 weiyigeek-front-history 模块项目进行处理
mvn clean install -rf weiyigeek-front-history

# 方式5.只构建当前项目不构建子模块。
mvn clean install -N

温馨提示:

如果多模块项目没有互相引用,那么此时可以单独构建单个项目,指定到子模块的pom.xml文件即可完成编译。 如果多模块项目各自都引用了,那么单独编译子模块的pom.xml文件会直接报错,解决方法就是编译父项目pom.xml。 如果编译父项目,那么可能会造成编译时间很慢,其中有些项目也不需要编译,我们就可以采用上述 -pl 参数指定单模块。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nexus搭建Maven私有仓库
访问 http://192.168.2.132:8081 进入登录界面 使用默认管理员身份登录,帐号:admin,密码:上一步得到的密码
大忽悠爱学习
2022/08/23
1.1K0
Nexus搭建Maven私有仓库
Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,为什么它总是和maven一起被提到呢?
全栈程序员站长
2022/07/02
4.8K0
Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
Linux 搭建maven私服及上传代码到私服
1、从远程仓库上获得的资源比较慢; 2、当出现网络问题或者其它问题时,下载到不完整资源导致下载的资源不可用; 3、一些公共组件不希望第三方获取到源码,可以将编译好的jar上传到私服给第三方使用;
芥末鱿鱼
2022/05/05
1.8K0
Linux 搭建maven私服及上传代码到私服
Docker 方式安装 Nexus 私服
我只是习惯性的喜欢简短的名字,所以给镜像改名了,并删除了原名字的镜像。从“docker.io/sonatype/nexus3 ” 改为 “nexus3”。改名会生成一个新的镜像,但 2 者是用的同一个镜像 id 。
微风-- 轻许--
2022/04/13
1.7K0
Docker 方式安装 Nexus 私服
Maven系列第5篇:私服详解
整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。
路人甲Java
2019/11/14
1.8K0
Maven系列第5篇:私服详解
使用Nexus搭建Maven私服
解压缩得到两个文件夹:nexus-3.20.1-01、sonatype-work。 nexus-3.20.1-01是安装目录,包含了nexus应用程序,和所有运行nexus需要的依赖组件。 sonatype-work是数据目录,包含了nexus管理的所有存储库、组件和其他数据。 (3)启动
程裕强
2020/02/14
3.3K0
使用Nexus搭建Maven私服
Maven私服搭建(Nexus Repository Manager 3)
下载地址:https://help.sonatype.com/repomanager3/download
布禾
2020/10/29
3.5K0
Maven私服搭建(Nexus Repository Manager 3)
Nexus3.0.0+Maven的使用
这章主要讲怎么和Maven做集成,集成的方式主要分以下种情况:代理中央仓库、Snapshot包的管理、Release包的管理、第三方Jar上传到Nexus上
用户5640963
2019/07/28
6710
【Maven】008-Maven 私服搭建与使用
Maven私服(Repository Manager)是一个用于管理和分发构建制品(如JAR、WAR、POM文件等)的服务器。它允许团队在本地搭建一个中央存储库,用于保存和分享项目构建所需的依赖项。一些常见的Maven私服产品包括 Nexus、Artifactory 和 Apache Archiva 。
訾博ZiBo
2025/01/06
890
【Maven】008-Maven 私服搭建与使用
使用 Docker Compose 部署 Nexus 仓库及使用
大家好!之前有一期文章我们写的是springboot 如何导入本地jar,未介绍私仓导入,今天公司的maven 私仓有问题,和同事讨论了下。正好向大家介绍如何使用 Docker Compose 部署 Nexus 仓库,以帮助您更好地管理和发布您的软件包和依赖项。Nexus 是一个功能强大的仓库管理器,它能够帮助我们管理各种构建工具和项目的组件,并提供了丰富的功能来支持软件开发过程。
修己xj
2023/08/25
1.9K0
使用 Docker Compose 部署 Nexus 仓库及使用
nexus基础说明与环境配置
使用maven,gradle等构建项目必定会用到nexus来搭建私服,Maven的公服与私服是非常重要的概念
CainGao
2020/04/14
1.8K0
Maven 私服的简单使用
当我们再 pom 文件中依赖了某个包后,如果在没有做特殊配置(也就是使用 maven 的默认配置)的情况下,Maven 会首先到本地仓库去搜索,如果本地仓库没有此依赖包,会到中央仓库获取,默认的中央仓库地址是 http://repo1.maven.org/maven2,服务器在国外,可想而知,速度是没办法保证的。当然国内也有相应的仓库,比如阿里的,速度还是很好的。
古时的风筝
2018/04/16
4.9K0
Maven 私服的简单使用
Maven私服Nexus3.x环境构建操作记录
Maven介绍 Apache Maven是一个创新的软件项目管理和综合工具。 Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件。 Maven最强大的功能就是能够自动下载项目依赖库。 Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。 在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复
洗尽了浮华
2018/01/23
9.2K1
Maven私服Nexus3.x环境构建操作记录
发布制品到私服 Nexus
在项目中,有些通用的代码模块,有时候不想通过拷贝这么简单的方式粗暴地实现复用。因为这样不仅体现不了 jar 包的 class 变更的实时性,而且也不利于 jar 统一管理。使用maven deploy的方式,将通用的模块打成 jar 包,发布到 Nexus 服务,让其他的项目来引用,以简洁、高效的方式来实现 jar 复用和管理。
BUG弄潮儿
2022/04/15
3830
发布制品到私服 Nexus
如何使用Sonatype Nexus Repository 3 :Maven仓库配置
Sonatype Nexus Repository 3(Sonatype Nexus 3)是一个由Sonatype开发的仓库管理工具,用于管理和托管各种软件构件(如Maven构件、Docker镜像等)。它提供了一种集中化的方式来存储、管理和分发软件构件,以帮助团队协作和构建自动化。
coderidea
2023/09/09
5.1K0
如何使用Sonatype Nexus Repository 3 :Maven仓库配置
研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库
在研发的过程中,很多企业都会针对自身业务特点来定制研发一些工具类库,但是这些工具类库又不会对外公开,那如何在组织内部共享这些类库呢?一种很好的方式就是在公司内部搭建一套Maven私服仓库。
冰河
2023/12/21
1K1
研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库
使用Docker基于Nexus3快速搭建Maven私有仓库
启动容器并将宿主机/usr/local/nexus-data(目录需要提前创建)目录映射到容器/nexus-data目录,这样就可以保存容器产生的文件了,具体请百度查询docker相关信息。 安装完成。
吟风者
2019/11/22
4.6K3
向nexus3私服上传jar包
点击左侧的repository\repositories后,在右侧点击create repository
lyb-geek
2022/03/10
3.9K0
向nexus3私服上传jar包
Jenkins制品管理(中)
nexus搭建好后,就可以使用deploy上传jar或者war包到nexus中。Deploy插件是Apache Maven团队提供的官方插件,能将JAR包及POM文件发布到Nexus中。目前该插件的最新版本是2.8.2,如果不需要自定义Deploy插件配置,则不需要在POM文件中定义。
陈不成i
2021/06/02
1K0
详解通过 Nexus3.x 搭建 Maven 私服
如果团队使用 java 进行开发,开发人员通常通过共享 jar 包的方式进行项目间公共代码的维护,这些 jar 包的维护就需要一个 maven 私服来进行管理,这样既能够保证代码的安全性,又能快速上传、管理 jar 包。 Nexus 是“开箱即用”的系统,不需要数据库,它使用文件系统加 Lucene 来组织数据,支持 WebDAV 与 LDAP 安全身份认证。 Nexus 还提供了强大的仓库管理功能,构件搜索功能,它还提供了一套 REST 客户端,占用内存较少,极大地简化了本地内部仓库的维护和外部仓库的访问。 总之,本地内部仓库在本地构建nexus私服的好处有: 1. 加速构建、稳定 2. 节省带宽、节省中央maven仓库的带宽 3. 控制和审计 4. 能够部署第三方构件 5. 可以建立本地内部仓库、可以建立公共仓库 这些优点使得Nexus日趋成为最流行的Maven仓库管理器。
用户3147702
2022/06/27
1.2K0
详解通过 Nexus3.x 搭建 Maven 私服
相关推荐
Nexus搭建Maven私有仓库
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验