maven笔记1

一、maven前言

1、maven定义

                maven 是apache组织的开源的项目构建工具
                    struts2  框架   controller
                    tomcat  应用服务器
                    项目构建:是指代码 编辑 编译 测试 打包(jar,war)部署、 上线 、维护等一系列流程 称之为项目构建

2、为什么是maven

    a.摆脱现有ide的规范
    b.maven项目支持远程部署 同时支持远程热部署
    c.maven帮助我们完成持续集成(CI)  重要角色 jenking(免费开源)|hudson(收费 Oracle) 可以形成构建计划定时触发  

d.自动构建项目中的依赖,节省本地磁盘空间占用。 默认本地仓库位: c:/user/Hiapad/.m2/repository

3、maven的约定(规范)(目录结构)

在这里插入图片描述

二、maven的第一个环境搭建

2.1 官网下载地址:

             https://maven.apache.org/download.cgi

2.2实例3.5.3版本

            a、解压
            b、maven工具中目录结构
                            bin  存放maven启动执行脚本文件     .ba
                            boot  用来在启动maven的引导文件
                            conf 用来存放,maven核心配置文件  在这个目录中存在settings.xml 这个文件是核心配置文件
                            lib  maven运行时的依赖jar文件

2.3 配置maven环境变量

                1、找到系统环境变量配置 添加一个名字为  “MAVEN_HOME” 
                          MAVEN_HOME      = D:\Maven\apache-maven-3.6.1-bin\apache-maven-3.6.1
                 2、将系统PATH变量添加MAVEN环境
                            PATH = xxxx;%MAVEN_HOME%/bin

2.4检测maven环境

            a、在cmd中执行   mvn  -version 检测是否成功 

2.5 构建得如下信息

		![在这里插入图片描述](https://img-blog.csdnimg.cn/80fb8e76be2d4e4aa3d1c776997e4c83.png#pic_center)

三、手动搭建一个项目

3.1、maven项目的目录结构介绍

对于maven目录的基本结构说明
     Hello:工程名
     |—src
     |—|—main:存放主程序
     |—|—|—java:存放java源文件
     |—|—|—resources:存放框架的配置文件或者其他工具的配置文件
     |—|—test:存放测试程序
     |—|—|—java:存放测试的java源文件
     |—|—|—resources:存放测试的配置文件等
     |—pom.xml:maven的主配置文件

3.2、创建一个文件夹作为项目的根目录

在根目录中创建一个pom.xml文件,内容如下:

								<?xml version="1.0" ?>
            <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>
              <!--maven中grouid和artifactId用来唯一确定一个项目的位置-->
              <groupId>com.njwb.maven</groupId>
              <!--项目名-->
              <artifactId>Hello</artifactId>
              <!--版本号-->
              <version>1.0</version>
              <name>Hello</name>
              <dependencies>
                <dependency>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
                  <version>4.12</version>
                  <scope>test</scope>
                </dependency>
              </dependencies>
            </project>`

Ps:标签定义解释
     根目录下的第一个子元素 Modelversion指定当前Pom模型的版本,对于Maven3来说,它只能是4.0.0,指定前 Maven模型的版本号,对于Maven2和Maven3来说,它只能是4.0.0
        groupId定义了项目属于哪个组,这个组往往和项目所在的组织和公司存在关联。比如:com.xXXX

artifactId 定义了当前Maven项目在组中唯一的ID。

versionk.x.x-里程碑
        比如:1.0.0-SNAPSHOT
        第一个x大版本有重大变革
        第二个X小版本修复bug,增加功能
        第三个x更新

里程碑版本:
        SNAPSHOT(快照,开发版)
        alpha(内部测试)
        beta(公开测试)
        Release [ RC(发布版)
        GA(正常版本)

使用name标签声明一个对于用户更为友好的项目名称。虽然不是必须的,但还是推荐为每个Pom声明name,以方便信息交流

3.2.1.编辑主函数

package com.njwb.demo;
public class Hello{
	public void sayHello(){
		System.out.println("sayHello invoked....");
	}
}

3.2.2cmd下编译并运行

	cmd下面、进入项目的根目录
  1. 编译Java文件
    mvn compile
  2. 执行main方法
    mvn exec:java -Dexec.mainClass=“com.njwb.demo.Hello”

注:第一次下载会比较慢,要修改maven解压之后的conf目录下的settings.xml.
1.1.修改默认仓库位置
打开maven目录->conf -> settings.xm1添加仓库位置配置
<localRepositoryF :/m2/ repository</1ocalRepository>注:仓库位置改为自己本机的指定目录,“”/"不要写反
1.2.页换阿里镜像,加快依赖下载

<mirror>
	<id>nexus-a1iyun</id>
	<mirrorof>centra1</mirrorof>
	<name>Nexus aliyun</name>
	<ur1>http:/ /maven.aliyun.com/nexus/content/groups/public</ur1>
</mirror>

如果编译不成功。可能出现的问题
1,不是使用管理员权限执行dos命令
2.DK环境配置有问题,重装DK
3.代码编写时,类里面没设置包名(如果编译时类没加包名,执行时也不需要加包名)

四、maven的相关配置

maven的所有配置都是在conf/settings.xml中配置 ,别放错了位置。

4.1、本地仓库配置

设置本地仓库。[所有的插件以及jar包、其他相关文件都会到此目录]
默认从中央仓库中下载,为了缓解中央仓库的压力。镜像站的概念。
https://repo.maven.apache.org/maven2/ :中央仓库
一般使用阿里镜像站
先从本地仓库–>找镜像站–>中央仓库。
两个网址:
官网:https://maven.apache.org/
仓库地址:https://mvnrepository.com/

4.2、配置镜像站

<mirror>
	<id>alimaven</id>
	<mirrorOf>central</mirrorOf>
	<name>aliyun maven</name>
	<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
	<id>alimaven</id>
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
	<id>nexus-aliyun</id>
	<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
	<name>Nexus aliyun</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

4.3、 配置jdk

<profile>
	<id>jdk-1.8</id>
	<activation>
	<activeByDefault>true</activeByDefault>
	<jdk>1.8</jdk>
	</activation>
<properties>
	<maven.compiler.source>1.8</maven.compiler.source>
	<maven.compiler.target>1.8</maven.compiler.target>
	<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

4.4、常见命令

【1】mvn clean:清理项目生产的临时文件,一般是模块下的target目录
【2】mvn compile:编译源代码,一般编译模块下的src/main/java目录
【3】mvn test-compile:编译测试程序
【4】mvn test:执行测试,或执行src/test/java/下junit的测试用例
【5】mvn package:项目打包工具,会在模块下的target目录生产jar或war等文件
【6】mvn install:将打包的jar或war文件复制到你的本地仓库中供其他模块使用
【7】mvn site:生成站点 【了解即可,前面六个必须掌握】(生成项目相关信息的网站)
【8】mvn -version:显示版本信息
【9】mvn deploy:将打包的文件发布到远程参数,提供其他人员进行下载依赖
【10】mvn eclipse:eclipse:将项目转化为Eclipse项目
【11】mvn dependency:tree:打印出项目的整个依赖树
【12】mvn archetype:generate:创建Maven的普通Java项目
【13】mvn tomcat7:run:在tomcat容器中运行web应用
【14】mvn jetty:run:调用jetty插件的Run目标在Jetty Serclet容器中启动web应用
执行mvn site命令会报错,必须要配置一个插件。
注意、运mavend令的时候,首先需要定位到maven项目的目录,也就是项目的pom .xm1文件所在的目录。否则,必以汤讨参数来指定项目的目录.

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-project-info-reports-plugin</artifactId>
			<version>2.7</version>
	</plugin>
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-site-plugin</artifactId>
		<version>3.3</version>
		<configuration>
			<locales>zh_CN</locales>
			</configuration>
	</plugin>
</plugins>
</build>

4.4.1 命令参数

			上面列举的只是比较通用的命令,其实很多命令都可以携带参数以执行更精准的任务,
4.4.1.1.-D传入属性参数

例如:

		mvn package -omaven.test.skip=true
		以-o开头,将maven.test.skip的值设为tue ,就是告诉maven打包的时候跳过单元测试。同理,mvndeploy-Dmaven.test.skip=true代表部署项目并跳过单元测试。
4.4.1.2.-P使用指定的Profile配置
		比如项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,在pom.xml中的配置如下:
<profiles>
		<profile>
				<id>dev</id>
				<properties>
					<envo>dev</env>
				</properties>
				<activation>
						<activeByDefault>true</activeByDefault>
				</activation>
		</profile>I
	<profile>
			<id>qa</id>
			<properties>
				<env>qa</env>
			</properties>
	</profile>
	<profile>
			<id>pre</id>
			<properties>
				<env>pre</env>
			</properties>
	</profile>
</profile>

......

<build>
			<filters>
					<fi1ter>config/S{env}.properties</filter>
			</filters>
			<resources>
					<resource>
							<directory>src/main/resources</directory>
							<filteringt>rue</filtering>
					</resource>
			</resources>
</build>

.....


profiles定义了各个环境的变量id ,filters 中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile 中定义的值,resources中
是定义哪些目录下的文件会被配置文件中定义的变量替换。
通过maven可以实现按不同环境进行打包部署,例如:
mvn package -pdev -Dmaven.test.skip-true
表示打包本地环境,并跳过单元测试

4.5、maven坐标

1、数学中的坐标
[1]在平面上,使用x,y两个向量可以唯一的定位平面中的任何一个点
[2]在空间中,使用x,y,z三个向量可以唯一的定位空间中的任何一个点
2、maven中的坐标
使用下面三个向量在仓库中唯一定位一个maven工程
[1]groupid:公司或者组织域名倒序+项目名
[2]artifactid:模块名
[3]version:版本
3、maven工程的坐标与仓库中的路径的对应关系
在这里插入图片描述

4.6、仓库的分类

①仓库的分类
【1】本地仓库:当前电脑上部署的仓库目录,为当前电脑上所有的maven工程服务
【2】远程仓库
私服:搭建在当前局域网环境下,为当前局域网范围内的所有maven工程服务
中央仓库:架设在互联网上,为全世界所有的maven工程服务(负载比较大)
中央仓库镜像:为了分担中央仓库的流量,提升用户访问速度
②仓库中保存的内容:maven工程
【1】maven自身所需要的插件(执行命令的插件)
【2】第三方框架或者工具的jar包
【3】我们自己开发的maven工程

4.7依赖管理

依赖指当前项目运行所需要的jar,一个项目可以设置多个依赖
格式:
 <!--设置当前工程的所有依赖-->
  <dependencies>
    <!--具体的依赖-->
    <dependency>
      <!--依赖所属群组id-->
      <groupId>junit</groupId>
      <!--依赖所属项目id-->
      <artifactId>junit</artifactId>
      <!--版本号-->
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

4.7.1依赖传递

			依赖具有传递性
					直接依赖:在当前项目中通过依赖配置建立的依赖关系
					间接依赖:被资源的资源如果依赖其他资源,当前项目间接以来其他资源

在这里插入图片描述
依赖传递冲突问题
路径优先:当依赖中出现相同资源时,层级越深,优先级越低,层级越浅,优先级越高
声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
特殊优先:当同级配置了相同的不同版本,后配置的覆盖先配置的

在这里插入图片描述

可选依赖

	可选依赖指对外隐藏当前所依赖的资源-----不透明
<!--设置当前工程的所有依赖-->
  <dependencies>
    <!--具体的依赖-->
    <dependency>
      <!--依赖所属群组id-->
      <groupId>junit</groupId>
      <!--依赖所属项目id-->
      <artifactId>junit</artifactId>
      <!--版本号-->
      <version>4.11</version>
      <!--以来选择-->
      <optional>true</optional>
      <scope>test</scope>
    </dependency>
  </dependencies>

排除依赖

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13</version>
      <!--排除依赖-->
      <exclusions>
        <exclusion>
          <!--依赖所属群组id-->
          <groupId>junit</groupId>
          <!--依赖所属项目id-->
          <artifactId>junit</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

依赖范围

依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围
作用范围
主程序范围有效(main文件夹范围内)
测试程序范围有效(test文件夹范围内)
是否参与打包(package指令范围内)
在这里插入图片描述

4.8、生命周期与插件

4.8.1、项目构建生命周期

			Maven构建生命周期描述的是一次构建过程经历了多少事件
			Maven对项目构建的生命周期划分为3套
					clean:清理工作
					default:核心工作,例如编译,测试,打包,部署等
					site:产生报告,发布站点等

4.8.2、插件

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

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-source-pluin</artifactId>
			<version>2.2.1</version>
			<executions>
				<execution>
					<goals>
						<goal>jar</goal>
					</goals>
					<phase> generate-test-resources</phase>
				</execution>
			</executions>
		</plugin>
	<eloluoins>
</build>

五、IDEA中使用maven

5.1、idea中maven的配置

1、全局设置在这里插入图片描述

2、设置maven【主目录、setting文件、仓库文件】

在这里插入图片描述
在这里插入图片描述设置一下全局编码方式:

在这里插入图片描述

5.2、通过idea建立一个java项目

方式一:、创建一个maven项目 【不通过骨架生成】

在这里插入图片描述
设置坐标:
在这里插入图片描述

在这里插入图片描述
方式二:通过骨架生成一个maven项目

在这里插入图片描述

5.3、构建一个web项目

1、选择骨架

在这里插入图片描述

2、这个骨架有一些问题,要做一些修改

	添加,java和resource目录
	修改web.xml配置文件的头声明

3、添加相关依赖

<!-- servletApi,jspApi,jstl-->
<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>4.0.1</version>
		<scope>provided</scope>
</dependency>
<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
</dependency>
<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jsp-api</artifactId>
		<version>2.0</version>
		<scope>provided</scope>
</dependency>
<!-- 文件上传的依赖 -->
<dependency>
		<groupId>commons-fileupload</groupId>
		<artifactId>commons-fileupload</artifactId>
		<version>1.4</version>
</dependency>

六、Maven高级

6.1分模块开发与设计

6.1.1工程模块与模块划分

在这里插入图片描述
ssm_pojo拆分步骤:
1、新建模块
2、拷贝原始项目中对应的相关内容到ssm_pojo模块中
3、实体类(User)
4、 配置文件(无)
ssm_dao拆分
1、新建模块
2、拷贝原始项目中对应的相关内容到ssm_dao模块中
数据层接口(UserDao)
配置文件:保留与数据层相关配置文件(3个)
注意:分页插件在配置中与SqlSessionFactoryBean绑定,需要保留
pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标
spring
mybatis
spring整合mybatismysql
druid
pagehelper
直接依赖ssm_pojo (对ssm_pojo模块执行install指令,将其安装到本地仓库)

ssm_service拆分
1、新建模块
2、拷贝原始项目中对应的相关内容到ssm_service模块中
业务层接口与实现类(UserService、UserServicelmpl)
配置文件:保留与数据层相关配置文件(1个)
pom.xml:引入数据层相关坐标即可,副除springmvc相关坐标
spring
junit
spring整合junit
直接依赖ssm_dao(对ssm_dao模块执行install指令,将其安装到本地仓库)间接依赖ssm_pojo (由ssm_dao模块负责依赖关系的建立)
◆修改service模块spring核心配置文件名,添加模块名称,格式: applicationContext-service.xm
◆修改dao模块spring核心配置文件名,添加模块名称,格式: applicationContext-dao.xml
◆修改单元测试引入的配置文件名称,由单个文件修改为多个文件

ssm_control拆分
1、新建模块(使用webapp模板)
2、拷贝原始项目中对应的相关内容到ssm_controller模块中
表现层控制器类与相关设置类(UserController、异常相关……-)
配置文件:保留与表现层相关配置文件(1个)、服务器相关配置文件(1个)
pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标
spring
springmvc
jackson
servlet
tomcat服务器插件
直接依赖ssm_service (对ssm_service模块执行install指令,将其安装到本地仓库)
间接依赖ssm_dao、ssm_pojo
修改web.xml配置文件中加载spring环境的配置文件名称,使用*通配,加载所有applicationContext-开始的配置文件

6.2、聚合

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

6.2.1、多模块构建维护

在这里插入图片描述创建一个项目只留pom.xml文件在此文件管理其他项目
管理其他模块
注意事项:参与聚合操作的模块最终执行顺序与模块间的依赖关系有关,与配置顺序无关

6.3、继承

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

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

继承依赖定义

在父工程中定义依赖管理

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

继承依赖使用
在子工程中定义依赖关系,无需声明依赖版本,版本参照父工程中依赖的版本
先引用父工程

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

<!--子工程的头-->
<modelversion>4.0.0</modelversion>
<artifactId>ssm_pojo</ artifactId>
<packaging>jar</packaging>

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

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

6.4、属性

<!--定义自定义属性-->
    <properties>
        <spring-version>5.3.6</spring-version>
    </properties>


			<!--下面jar包的使用-->
			<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring-version}</version>
        </dependency>

6.5、版本管理

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

6.6、资源配置

配置文件引用pom属性

●作用
在任意配置文件中加载pom文件中定义的属性
调用格式

${jdbc.url}

开启配置文件加载pom属性

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

在管理器properties中配置如下:
properties中配置jdbc

在build中配置其他模块
build中的配置其他模块

6.7、多环境开发配置

6.7.1、多环境兼容

在这里插入图片描述

6.7.2、多环境配置

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

也可以设置命令:
多环境开发命令
加载指定环境
作用
加载指定环境配置
调用格式
mvn 指令 -P 环境定义id

范例:

mvn install -P pro_env

6.8、跳过测试配置

跳过测试的3中方法:
第一种命令:

mvn 指令 -D skipTests

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

在build中配置

第二种方式
使用界面操作跳过测试:
在这里插入图片描述
第三中pom.xml文件中build中配置

<!--配置跳过测试-->
<plugin>
			<artifactId>maven-surefire-plugin</artifaatId>
			<version>2.22.1</version>
			<!―-设置跳过全部测试-->
			<configuration>
				<!―-设置跳过测试-->
				<skipTests>true</skipTests>
			</configuration>
			<!―-设置指定测试-->
			<configuration>
				<!―-设置跳过测试包含-->
				<includes>
						<!―-包含指定的用例-->
						<include>**/User*Tesr.java</include>
				</includes>
				<!―-排除-->
				<excludes>
					<!―-排除某些测试-->
					<exclude></exclude>
				</excludes>
			</configuration>
</plugin>

6.9、私服

Nexus
Nexus是Sonatype公司的一款maven私服产品
下载地址: https://help.sonatype.com/repomanager3/download

仓库分类
宿主仓库hosted
保存无法从中央仓库获取的资源
自主研发
第三方非开源项目
代理仓库proxy
代理远程仓库,通过nexus访问其他公共仓库,例如中央仓库
仓库组group
将若干个仓库组成一个群组,简化配置
仓库组不能保存资源,属于设计型仓库

访问私服配置(项目工程访问私服)

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

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

发布资源到私服命令
mvn deploy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值