IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Maven——入门介绍 -> 正文阅读

[Java知识库]Maven——入门介绍

目录

本文章笔记整理来自黑马视频https://www.bilibili.com/video/BV1Ah411S7ZE

1.Maven简介

(1)传统项目管理状态分析

在这里插入图片描述

(2)Maven介绍

Maven的本质是一个项目管理工具,它将项目开发和管理过程抽象成一个项目对象模型
(POM),其中的POM (Project Object Model)指的是项目对象模型。
在这里插入图片描述

(3)Maven的作用

① 项目构建:提供标准的、跨平台的自动化项目构建方式。
② 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题。
③ 统一开发结构:提供标准的、统一的项目结构。

2.Maven的下载与安装

(1)下载Maven(Windows版)

① Maven官方网址为https://maven.apache.org/
在这里插入图片描述
② 下载Windows版本的安装包和源代码即可。
在这里插入图片描述
或者直接到https://archive.apache.org/dist/maven/maven-3中选择合适的版本进行下载。这里我下载的是3.8.1的版本(如下图所示)。
在这里插入图片描述

(2)安装Maven

① 将上面下载的安装包放到合适的目录下(路径名称最好不要有中文或其它特殊字符),并进行解压(Maven属于绿色版软件,解压即安装),解压进去之后如下图所示。
在这里插入图片描述
② 配置环境变量(需要提前安装配置好JDK,版本为1.7及以上)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③ 测试Maven是否安装成功,只需要在命令行窗口中输入命令mvn或mvn -v,如果出现了类似下面的信息,则说明Maven已经安装成功。
在这里插入图片描述
在这里插入图片描述

3.Maven基础概念

(1)仓库

① 仓库:用于存储资源,包含各种jar包
② 仓库分类:

本地仓库自己电脑上存储资源的仓库,连接远程仓库获取资源
远程仓库非本机电脑上的仓库,为本地仓库提供资源

除此之外,远程仓库又分为以下两种:

中央仓库由Maven团队维护,存储所有资源的仓库
私服部门/公司范围内存储资源的仓库,从中央仓库获取资源

③ 私服的作用:
1)保存具有版权的资源,包含购买或自主研发的jar(中央仓库中的jar都是开源的,不能存储具有版权的资源)。
2)在一定范围内共享资源,仅对内部开放,不对外共享。

(2)坐标

① 坐标指的是用于描述仓库中资源的位置(见网站https://repo1.maven.org/maven2/)。
② Maven坐标主要组成:

groupld定义当前Maven项目隶属组织名称(通常是域名反写,例如: org.mybatis)
artifactld定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)
version定义当前项目版本号

③ Maven坐标的作用:
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成。

(3)本地仓库配置

① Maven启动后,会自动保存下载的资源到本地仓库。
② conf目录下的settings.xml文件是Maven的全局配置文件,里面说明的默认位置如下:

<!-- 当前目录位置为登录用户名所在目录下的.m2文件夹中 -->
<localRepository>${user.home}/.m2/repository</localRepository>

该位置位于C盘中,但一般来说,资源保存的位置最好自定义在其它盘中,例如在settings.xml文件中可以自定义位置(下面的配置应在settings标签内):

<localRepository>E:\softwares\Maven\repository</localRepository>

(4)远程仓库配置

Maven默认连接的仓库位置如下:

<repositories>
	<repository>
		<id>central</id>
		<name>Central Repository</name>
		<ur1>https://repo.maven.apache.org/maven2</ur1>
		<layout>default</ layout>
		<snapshots>
			<enabled>false</enabled>
		</snapshots>
	</repository>
</repositories>

(5)镜像仓库配置

但由于默认仓库位于国外的服务器上,所以如果在国内进行访问,那么速度一般会很慢,所以可以使用国内的镜像仓库,例如阿里云镜像仓库,在settting.xml中配置阿里云镜像仓库:

<mirrors>
	<!--配置具体的仓库的下载镜像-->
	<mirror>
		<!--此镜像的唯一标识符,用来区分不同的mirror元素-->
		<id>nexus-aliyun</id>
		<!--对哪种仓库进行镜像,简单说就是替代哪个仓库-->
		<mirrorOf>central</mirrorOf>
		<!--镜像名称-->
		<name>Nexus aliyun</name>
		<!--镜像URL-->
		<url>http://maven.aliyun. com/nexus/content/groups/public</url>
	</mirror>
</mirrors>

(6)全局setting与用户setting

① 全局settting定义了当前计算器中Maven的公共配置(conf目录下的settings.xml文件)。
② 用户settting定义了当前用户的配置(可以将conf目录下的settings.xml文件复制一份出来,放在其它位置,并可以对其进行自定义修改),当用户setting与全局setting不一致时,前者会覆盖后者。

4.Maven项目创建

(1)手动创建

按照下面的Maven工程目录结构手动创建一个Maven项目(具体创建过程可以观看视频p6)。
在这里插入图片描述

(2)插件创建

① 创建工程

mvn archetype:generate
	-DgroupId={project-packaging} 
	-DartifactId={project-name} 
	-DarchetypeArtifactId=maven-archetype-quickstart
	-DinteractiveMode=false

② 创建java工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=java-project -
DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -
DinteractiveMode=false

③ 创建web工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=web-project -
DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -
DinteractiveMode=false

(3)IDEA创建

① 在IDEA中配置好Maven环境

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

② 创建Maven工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,一个Maven工程便创建好了。除此之外,若想改变文件夹的资源类型,也可以右键点击,选择Mark Directory as进行修改(一般保持Maven的默认即可)。
在这里插入图片描述
在pom.xml中引入需要的依赖,此处以Junit的jar为例(初次引入时需要联网下载,若代码报错,可以点击右侧的Maven按键,在里面选择刷新),那么这样Junit的jar包就导入到项目里了。

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>java01</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
</project>

在这里插入图片描述
具体资源坐标在pom.xml中的表示方式见网站https://mvnrepository.com/

③ 编写测试代码

在这里插入图片描述

package com.itheima;

public class Demo {
    
    public String say(String name){
        System.out.println("Hello "+name);
        return "Hello "+name;
    }
}
package com.itheima;

import org.junit.Assert;
import org.junit.Test;

public class DemoTest {
    
    //单元测试
    @Test
    public void testSay(){
        Demo d = new Demo();
        String ret = d.say("itheima");
        Assert.assertEquals("Hello itheima",ret);
    }
}

④ 利用Maven操作项目
在这里插入图片描述
或者使用另外一种方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

④ 使用Maven模板创建项目

1)创建普通Java项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:resources目录需要手工添加,并且标记为与上面一样的资源类型。
2)创建Java Web项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置pom.xml:

<?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 http://maven.apache.org/maven-v4_0_0.xsd">

  <!--指定pom的模型版本-->
  <modelVersion>4.0.0</modelVersion>
  <!--打包方式,web工程打包为war,java工程打包为jar-->
  <packaging>war</packaging>

  <!--组织id-->
  <groupId>com.itheima</groupId>
  <!--项目id-->
  <artifactId>web01</artifactId>
  <!--版本号:release,snapshot-->
  <version>1.0-SNAPSHOT</version>

  <!--设置当前工程的所有依赖-->
  <dependencies>
    <!--具体的依赖-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>
  </dependencies>

  <!--构建-->
  <build>
    <!--设置插件-->
    <plugins>
      <!--具体的插件配置-->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>80</port>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

注:缺失的目录需要手工添加,并且标记为与上面一样的资源类型。

5.依赖管理

(1)依赖配置

① 依赖指当前项目运行所需的jar,一个项目可以设置多个依赖。
② 格式:

<!--设置当前项目所依赖的所有jar-->
<dependencies>
	<!--设置具体的依赖-->
	<dependency>
		<!--依赖所属群组id-->
		<groupId>junit</groupId>
		<!--依赖所属项目id-->
		<artifactrd>junit<lartifactid>
		<!--依赖版本号-->
		<version>4.12</version>
	</dependency>
</dependencies>

(2)依赖传递

① 依赖具有传递性
1)直接依赖:在当前项目中通过依赖配置建立的依赖关系。
2)间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源。
在这里插入图片描述
② 依赖传递冲突问题
路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高。
声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的。
特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的。
如果project-1想使用project-2,那么需要将project-2作为资源配置到project-1中,即将project-2对应的坐标(包括groupId、artifactId、version)以依赖的形式(即使用dependency标签)复制到project-1中的pom.xml中即可。

(3)可选依赖

可选依赖指对外隐藏当前所依赖的资源——不透明

<dependency>
	<groupId>junit</groupid>
	<artifactrd>junit</ artifactrd>
	<version>4.12</version>
	<optional>true</optional>
</dependency>

(4)排除依赖

排除依赖指主动断开依赖的资源,被排除的资源无需指定版本——不需要

<dependeney>
	<groupId>junit</groupid>
	<artifactId>junit</artifactid>
	<version>4.12</version>
	<exclusions>
		<exclusion>
			<groupId>org.hamcrest</groupid>
			<artifactId>hamerest-core</artifactId>
		</exelusion>
	</exclusions>
</dependency>

(5)依赖范围

① 依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围
② 作用范围
1)主程序范围有效(main文件夹范围内)
2)测试程序范围有效(test文件夹范围内)
3)是否参与打包(package指令范围内)
在这里插入图片描述
③ 依赖范围传递性
带有依赖范围的资源在进行传递时,作用范围将受到影响
在这里插入图片描述

6.生命周期与插件

(1)生命周期

① Maven构建生命周期描述的是一次构建过程经历经历了多少个事件
在这里插入图片描述
② Maven对项目构建的生命周期划分为一下3套:

clean清理工作
default核心工作,例如编译,测试,打包,部署等
site产生报告,发布站点等

其中clean的生命周期如下:

pre-clean执行一些需要在clean之前完成的工作
clean移除所有上一次构建生成的文件
post-clean执行一些需要在clean之后立刻完成的工作

default构建的生命周期如下:
在这里插入图片描述
site构建的生命周期如下:

pre-site执行一些需要在生成站点文档之前完成的工作
site生成项目的站点文档
post-site执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
site-deploy将生成的站点文档部署到特定的服务器上

(2)插件

① 插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能。
② 默认maven在各个生命周期上绑定有预设的功能。
③ 通过插件可以自定义其他功能。

<!--构建-->
<build>
	<!--设置插件-->
	<plugins>
		<!--具体的插件配置-->
		<plugin>
			<!--插件的坐标-->
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-source-plugin</artifactId>
			<version>2.2.1</version>
			<!--插件执行的操作-->
			<executions>
				<!--插件具体执行的操作-->
				<execution>
					<goals>
						<!--
                            jar:对源码打包
                            test-jar:对测试代码打包
                        -->
						<goal>jar</goal>
						<goal>test-jar</goal>
					</goals>
					<phase>generate-test-resources</phase>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

此时对下面的这张图应该有了更深的理解。
在这里插入图片描述

7.分模块开发与设计

首先,需要提前准备好一个基于Maven的SSM项目(功能可以非常简单),然后按照下图来进行模块拆分。
在这里插入图片描述

(1)POJO模块拆分

在这里插入图片描述

(2)Dao模块拆分

在这里插入图片描述

(3)service模块拆分

在这里插入图片描述

(4)controller模块拆分

在这里插入图片描述

(5)总结

(1)模块中仅包含当前模块对应的功能类与配置文件。
(2)spring核心配置根据模块功能不同进行独立制作。
(3)当前模块所依赖的模块通过导入坐标的形式加入当前模块后才可以使用。
(4)web.xml需要加载所有的spring核心配置文件。

8.聚合

(1)作用

聚合用于快速构建maven工程,一次性构建多个项目/模块。

(2)制作方式

① 创建一个空模块,打包类型定义为pom

<packaging>pom</packaging>

② 定义当前模块进行构建操作时关联的其他模块名称

<modules>
	<module>../ssm_controller</module>
	<module>../ssm_service</module>
	<module>../ssm_dao</module>
	<module>../ssm_pojo</module>
</modules>

注:参与聚合操作的模块最终执行顺序与模块间的依赖关系有关,与配置顺序无关。

9.继承

(1)模块依赖关系维护

在这里插入图片描述

(2)继承作用与制作方式

① 作用:通过继承可以实现在子工程中沿用父工程中的配置(Maven中的继承与java中的继承相似,在子工程中配置继承关系)
② 制作方式:在子工程中声明其父工程坐标与对应的位置

<!--定义该工程的父工程-->
<parent>
	<groupId>com.itheima</groupId>
	<artifactId>ssm</artifactId>
	<version>1.0-SNAPSHOT</version>
	<!--填写父工程的pom.xml文件路径-->
	<relativePath>../ssm/pom.xml</relativePath>
</parent>

(3)继承依赖定义与依赖使用

① 在父工程中定义依赖管理

<!--声明此处进行依赖管理-->
<dependencyManagement>
	<!--具体的依赖-->
	<dependencies>
		<!--spring环境-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>5.1.9.RELEASE</version>
		</dependency>
	<dependencies>
<dependencyManagement>

② 在子工程中定义依赖关系,无需声明依赖版本,版本参照父工程中依赖的版本

<dependencies>
	<!--spring环境-->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
	</dependency>
</dependencies>

此外,需要注意的是继承的资源如下:
在这里插入图片描述

(4)继承与聚合的比较

继承聚合
作用用于快速配置用于快速构建项目
相同点聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中聚合与继承均属于设计型模块,并无实际的模块内容
不同点聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

10.属性版本管理

(1)属性类别

自定义属性、内置属性、Setting属性、Java系统属性、环境变量属性

(2)属性类别:自定义属性

① 作用:等同于定义变量,方便统一维护
② 定义格式:

<!--自定义属性-->
<properties>
	<spring.version>5.1.9.RELEASE</spring.version>
	<junit.version>4.12</junit.version>
</properties>

③ 调用格式:

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>${junit.version}</version>
</dependency>

(3)属性类别:内置属性

① 作用:使用Maven内置属性,快速配置
② 调用格式:

${basedir}
${version}

(4)属性类别:Setting属性

① 作用:使用Maven配置文件setting.xml中的标签属性,用于动态配置
② 调用格式:

${settings.localRepository}

(5)属性类别:Java系统属性

① 作用:读取Java系统属性
② 调用格式:

${user.home}

③ 系统属性查询方式:

mvn help;system

(6)属性类别:环境变量属性

① 作用:使用系统环境变量的标签属性,用于动态配置
② 调用格式:

${env.JAVA_HOME}

③ 环境变量属性查询方式:

mvn help;system

11.版本管理

(1)工程版本区分

在这里插入图片描述

(2)工程版本分类

SNAPSHOT(快照版本)项目开发过程中,为方便团队成员合作,解决模块间相互依赖和时时更新的问题,开发者对每个模块进行构建的时候,输出的临时性版本叫快照版本(测试阶段版本)。此外,快照版本会随着开发的进展不断更新。
RELEASE(发布版本)项目开发到进入阶段里程碑后,向团队外部发布较为稳定的版本,这种版本所对应的构件文件是稳定的,即便进行功能的后续开发,也不会改变当前发布版本内容,这种版本称为发布版本。

(3)工程版本号约定

约定规范:
① <主版本>、<次版本>、<增量版本>、<里程碑版本>
② 主版本:表示项目重大架构的变更,例如: Spring5相较于Spring4的迭代。
③ 次版本:表示有较大的功能增加和变化,或者全面系统地修复漏洞
④ 增量版本:表示有重大漏洞的修复。。
⑤ 里程碑版本:表明一个版本的里程碑(版本内部)。这样的版本同下一个正式版本相比,相对来说不是很稳定,有待更多的测试。
示例:
5.1.9.RELEASE

12.资源配置

(1)作用

在任意配置文件(此处以数据库配置文件jdbc.properties为例)中加载pom.xml文件中定义的属性。

(2)调用格式:

jdbc.url=${jdbc.url}

(3)开启配置文件加载pom.xml中的属性

<!--自定义属性-->
<properties>
	<jdbc.url>jdbc:mysql://localhost:3306/ssm_db</jdbc.url>
</properties>

<build>
    <!--配置资源文件对应的信息-->
    <resources>
        <resource>
            <!--设置配置文件对应的位置目录,支持使用属性动态设置目录-->
            <directory>${project.basedir}/src/main/resources</directory>
            <!--开启对配置文件的资源加载过滤-->
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

12.多环境开发配置

(1)多环境兼容

在这里插入图片描述

(2)在pom.xml中进行多环境配置

<!--创建多环境-->
<profiles>
    <!--定义具体环境:生产环境-->
    <profile>
        <!--定义环境对应的唯一名称-->
        <id>pro_env</id>
        <!--定义环境中专用的属性值-->
        <properties>
            <jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db</jdbc.url>
        </properties>
        <!--设置默认启动-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--定义具体环境:开发环境-->
    <profile>
        <!--定义环境对应的唯一名称-->
        <id>dep_env</id>
        <!--定义环境中专用的属性值-->
        <properties>
            <jdbc.url>jdbc:mysql://127.2.2.2:3306/ssm_db</jdbc.url>
        </properties>
    </profile>
</profiles>

(3)加载指定环境

① 作用:加载指定环境配置
② 调用格式:

mvn 指令 -P 环境定义id

③ 示例:

mvn install -P pro_env

13.跳过测试

(1)跳过测试环节的应用场景

① 整体模块功能未开发
② 模块中某个功能未开发完毕
③ 单个功能更新调试导致其他功能失败
⑤ 需要快速打包

(2)使用命令跳过测试

① 命令:

mvn 指令 -D skipTests

② 注意事项:执行的指令生命周期必须包含测试环节

(3)使用界面操作跳过测试

在这里插入图片描述

(4)使用配置跳过测试

<plugin>
	<artifactId>maven-surefire-plugin</artifactId>
	<version>2.22.1</version>
	<configuration>
		<!--设置跳过测试-->
		<skipTests>true</skipTests>
		<!--包含指定的测试用例-->
		<includes> 
			<include>** /User*Test.java</include>
		</includes>
		<!--排除指定的测试用例-->
		<excludes>
			<exclude>**/User*TestCase.java</exclude>
		</exeludes>
	</configuration>
</plugin>

14.私服

(1)分模块开发合作

在这里插入图片描述

(2)下载、安装、启动与配置Nexus

Nexus是Sonatype公司的一款maven私服产品。

① 下载

下载地址为:https://help.sonatype.com/repomanager3/download
在这里插入图片描述

② 安装

下载之后并解压,然后改名为nexus。
在这里插入图片描述

③ 启动

启动命令为:nexus /run nuxus
在这里插入图片描述
在这里插入图片描述
访问地址为:http://localhost:8081/
在这里插入图片描述

④ 配置

1)修改基础配置信息
安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息,例如默认访问端口
2)修改服务器运行配置信息
安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息,例如默认占用内存空间

(3)获取私服资源

在这里插入图片描述

(4)仓库分类

① 宿主仓库hosted
保存无法从中央仓库获取的资源(一般来自于自主研发或者第三方非开源项目)。
② 代理仓库proxy
代理远程仓库,通过nexus访问其他公共仓库,例如中央仓库。
③ 仓库组group
将若干个仓库组成一个群组,简化配置。此外,仓库组不能保存资源,属于设计型仓库。
上传资源时要提供的信息如下:
保存的位置(宿主仓库)、资源文件、对应坐标

(5)IDEA环境中资源上传与下载

在这里插入图片描述

(6)访问私服配置

① 本地仓库访问私服
1)配置本地仓库访问私服的权限(setting.xml)

<servers>
	<server>
		<id>heima-release</id>
		<username>admin</username>
		<password>admin</password>
	</server>
	<server>
		<id>heima-snapshots</id>
		<username>admin</username>
		<password>admin</password>
	</server>
</servers>

2)配置本地仓库资源来源(setting.xml)

<mirrors>
	<mirror>
		<id>nexus-heima</id>
		<mirrorOf>*</mirrorOf>
		<url>http://localhost:8081/repository/maven-public/</url>
	</mirror>
</mirrors>

② 项目工程访问私服
1)配置当前项目访问私服上传资源的保存位置(pom.xml)

<distributionManagement>
	<repository>
		<id>heima-release</id>
		<url>http://localhost:8081/repository/heima-release/</url>
	</repository>
	<snapshotRepository>
		<id>heima-snapshots</id>
		<url>http://localhost:8081/repository/heima-snapshots/</url>
	</snapshotRepository>
</distributionManagement>

2)发布资源到私服的命令

mvn deploy
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:48:08  更:2021-09-30 11:49:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:33:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码