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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> (Maven笔记)Maven生命周期插件及命令使用pom.xml -> 正文阅读

[人工智能](Maven笔记)Maven生命周期插件及命令使用pom.xml

目录

  • 1.maven生命周期
  • 2.maven核心概念
  • 3.maven仓库
  • 4.pom文件
  • 5.maven生命周期
  • 6.maven命令+插件之间的关联
  • 7.单元测试junit
  • 8.使用maven命令及生命周期插件
    • (1)maven的编译——mvn compile

    • (2)maven的清理——mvn clean

    • (3)maven的测试编译——mvn test-compile

    • (4)maven的测试:mvn test

    • (5)maven的打包:mvn package

    • (6)maven的安装:mvn install

    • (7)maven的安装:mvn deploy

  • 9.总结

1.maven生命周期

? ? ? ? maven生命周期(项目构建的过程):对项目进行清理编译测试报告打包安装部署上传到私服的过程。

  • 清理(mvn clean):会删除原来编译测试的目录,即target目录,但是已经install仓库里的包不会删除
  • 编译(mvn compile):批量的把程序源代码编译为执行代码.java编译.class),maven可以同时把成千上百的文件编译为class,javac不一样,javac一次编译一个文件。会在当前目录下生成一个target目录,里边存放编译主程序之后生成.class字节码文件。
  • 测试(mvn test-compilemvn test):maven可以批量执行测试程序代码验证你的功能是否正确。maven同时执行多个测试代码,同时测试很多功能。会在当前目录下生成一个target目录,里边存放编译测试程序之后生成的.class字节码文件。会生成一个目录surefire-reports,保存测试结果
  • 报告:生成测试结果的文件,测试通过没有。
  • 打包(mvn package):把你的项目中src/main/java目录下所有class文件,src/main/resources目录下配置文件等所有资源放到一个压缩文件中。这个压缩文件就是项目的结果文件,通常java程序,压缩文件是.jar扩展名的。对于web应用,压缩文件扩展名是.war。总而言之,会把编译编译测试测试、并且按照pom.xml配置把主程序打包生成jar包或者war包。
  • 安装(mvn install):把打包mvn package)中生成的文件jarwar安装到本地仓库。会把本工程打包,并且按照本工程的项目坐标(三个参数)保存到本地仓库中。
  • 部署(mvn deploy):程序安装好后可以执行。会把本工程打包,按照本工程的项目坐标保(三个参数)存到本地仓库中,并且还会保存到私服仓库中。还会自动把项目部署web容器中。

注意:执行以上命令必须在命令行进入pom.xml所在目录!


2.maven核心概念

①POM:一个文件名称是pom.xml , pom翻译过来叫做项目对象模型,maven把一个项目当做一个模型使用。控制maven构建项目的过程,管理jar依赖

②约定的目录结构:maven项目的目录文件位置都是规定的。

③坐标:是一个唯一的字符串,用来表示资源的。

④依赖管理:管理你的项目可以使用jar文件。

⑤仓库管理:你的jar包资源存放位置

⑥生命周期:maven工具构建项目的过程

⑦插件和目标:执行maven构建的时候用的工具插件

⑧继承:一个 maven 项目可以继承另一个 maven 的依赖, 称为子项目父项目。

⑨聚合:父类型的模块,不需要有源代码和资源文件,也就是说,没有 src/main/javasrc/test/java目录。Maven会首先解析聚合模块的POM文件,分析要构建的模块,并通过各模块的依赖关系计算出模块的执行顺序,根据这个潜在的关系依次构建模块


3.maven仓库

? ? ? ? (1)什么是maven仓库?

????????maven仓库是存放东西的,存放maven下载的jar包和项目调用的jar包。

? ? ? ? ? ? ? ? ——maven使用的插件(各种jar包)
? ? ? ? ? ? ? ? ——项目使用的jar包(第三方的工具)

? ? ? ? (2)仓库的分类

  • 本地仓库:?个人计算机上的文件夹,存放各种jar包。
  • 远程仓库:互联网上的,使用网络才能使用的仓库,如mvnrepositoryapachealiyun中央仓库

? ? ? ? ——中央仓库:最权威的,所有的开发人员都共享使用的一个集中的maven仓库

中央仓库资源地址:https://mvnrepository.com/

? ? ? ? ——镜像中央仓库:中央仓库的备份,在各大洲,重要的城市都有镜像资源地址

? ? ? ? 如阿里云的maven镜像的中央仓库:https://maven.aliyun.com/mvn/guide

  • ?私服:公司内部,在局域网中使用,不对外使用。安全性高,但要通过网络访问私服。

? ? ? ? (3)仓库的使用——maven仓库调用不需要人为参与的。

????????开发人员获取jar资源(项目工程需要使用的jar,mysql驱动等资源)——>首先查找maven自定义本地仓库(本机电脑的文件夹目录)——>私服maven(公司组织局域网服务器)——>镜像中央仓库(aliyunapache国内服务器)——>中央仓库(mvnrepository外国服务器)

? ? ? ? 说明:仓库使用顺序,本机(地)仓库没有的话,去私服查找,有的话就拷贝一份到本机(地)仓库。如果私服没有的话,就去镜像中央仓库查找,有的话,就拷贝分别拷贝一份到私服中央仓库和本机(地)仓库中。以此类推,直到外服中央仓库中查找,若外服中央仓库没有的话,说明开发人员需要调用的jar资源不存在,有的话就分别拷贝到各种级别的仓库中,供给开发人员离线调用开发资源,提高开发效率。


5.pom文件

? ? ? ? pom.xmlmaven的核心文件,是maven的灵魂。

? ? ? ? 生成结构说明:

? ? ? ? (1)modelVersion:Maven模型的版本,对于Maven2Maven3来说,它只能是4.0.0

    <modelVersion>4.0.0</modelVersion>

? ? ? ? (2)groupId:组织id,一般是公司域名的倒写。格式可以为:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??——域名倒写。例如com.baidu

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??——域名倒写+项目名。例如com.baidu.projectname

    <groupId>com.baidu</groupId>

    <groupId>com.baidu.projectname</groupId>

? ? ? ? (3)artifactId:项目名称,也是模块名称,对应groupId中项目中的子项目

    <artifactId>projectname</artifactId>

? ? ? ? (4)version项目版本号。如果项目还在开发中,是不稳定版本,通常在版本后带-SNAPSHOTversion使用三位数字标识,例如1.1.0

    <version>1.0-SNAPSHOT</version>

? ? ? ? (5)gav:以上的groupIdartifactIdversion三个元素合并在一起统称为项目坐标,项目坐标具有唯一性,称之为唯一值,在互联网中唯一标识一个项目的,中央仓库中就是根据项目坐标的唯一值,在资源库中搜索下载相应的jar包

    <groupId>公司域名的倒序</groupId>
    <artifactId>自定义项目名称</artifactId>
    <version>自定义版本号</version>

? ? ? ? 例如,想要在中央仓库中获取mysql连接驱动必须在pom.xml中声明mysql连接驱动在仓库中唯一性项目坐标搜索下载jar包。搜索地址:https://mvnrepository.com/键入mysql关键字。

    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.38</version>
    </dependency>

? ? ? ? (6)packaging:项目打包的类型,可以是jarrarearpom,web应用是war?packaging可以不写,默认jar

? ? ? ? (7)dependencies和dependency(依赖)项目中要使用的各种资源说明,比我的项目要使用mysql驱动,Maven的一个重要作用就是管理jar包,为了一个项目可以构建或运行,项目中不可避免的,会依赖很多其他的jar包,在 Maven中,这些jar就被称为依赖,使用标签dependency来配置。而这种依赖的配置正是通过坐标来定位的,由此我们也不难看出,maven把所有的jar包也都视为项目存在了。

? ? ? ? 依赖也有自己的项目坐标,用作中央仓库唯一值标识

<!--  依赖 相当于java代码中的 import -->
  <dependencies>
    
    <!--mysql的依赖 https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.38</version>
    </dependency>
    <!--单元测试程序的依赖 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    
  </dependencies>

? ? ? ? (8)properties:properties是用来定义一些配置属性的,例如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级

  <!--配置属性 -->
  <properties>
    <!--构建源码编码方式 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--jdk版本 -->
    <java.version>1.8</java.version>
    <!--maven构建版本号 -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

? ? ? ? (9)build:表示与构建相关的配置,例如设置编译插件的jdk版本。

? ? ? ? ? ? ? ? 例如,使用maven项目骨架快速创建java项目时,会自动生成一堆的maven生命周期的插件,都放在build中:

<build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

6.maven命令+插件之间的关联

  • maven命令:maven独立使用,通过命令,完成maven的生命周期的执行。maven可以使用命令,完成项目的清理编译测试等等。
  • maven的插件:maven命令执行时,真正完成功能的是插件,插件是一些jar文件,一些

换言之,想要完成maven生命周期的清理,编译,测试,报告,打包,安装,部署等功能,就得通过使用maven命令调用maven插件由插件执行完成清理,编译,测试,报告,打包,安装,部署等功能。因此它们三个是一个不可分割的整体?


7.单元测试junit

????????单元测试:用的是junit,是一个专门测试的框架(工具)。
????????junit测试内容:测试的是类中的方法,每一个方法都是独立测试的。方法是测试的基本单位(单元)。

????????maven借助单元测试批量测试类中的大量方法是否符合预期的。
????????使用步骤:

????????(1)在pom.xml中加入依赖

<!--单元测试程序的依赖 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

????????(2)在maven项目中的src/test/java目录下,创建测试程序。

????????????????推荐的创建类和方法的提示:

? ? ? ? ? ? ? ? ——测试类的名称是Test +你要测试的类名

????????????????——测试的方法名称是:Test +方法名称
? ? ? ? 例如:想要测试HelloMaven.java

? ? ? ? ? ? ? ? ——创建测试类:TestHelloMaven

@Test
public void testAdd(){

    测试He1loMaven的add方法是否正确

}

? ? ? ? ? ? ? ??其中testAdd叫做测试方法,它的定义规则遵循以下4点:

? ? ? ? ? ? ? ? ——方法是public的,必须的。

? ? ? ? ? ? ? ? ——方法没有返回值,,必须的

? ? ? ? ? ? ? ? ——方法名称是自定义的,推荐是Test +方法名称

? ? ? ? ? ? ? ? ——方法的上面加入@Test

????????(3)创建HelloMaven.java,如下:

package com.zhangsong.maventest;

/**
 * created by on 2021/7/22
 * 描述:Manven——单元测试类
 *
 * @author ZSAndroid
 * @create 2021-07-22-12:07
 */
public class HelloMaven {
    public static void main(String[] args) {
        HelloMaven helloMaven = new HelloMaven();
        int addValue = helloMaven.add(100, 200);
        System.out.println("100+200计算结果=" + addValue);
    }

    /**
     * 计算两个整数之和的方法
     * @param a 第一个数
     * @param b 第一个数
     * @return
     */
    public int add(int a, int b) {
        return a + b;
    }
}

????????(4)创建TestHelloMaven.java,如下:

package com.zhangsong.maventest;

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

/**
 * created by on 2021/7/22
 * 描述:Maven——单元测试类
 *
 * @author ZSAndroid
 * @create 2021-07-22-12:13
 */
public class TestHelloMaven {
    @Test
    public void testAdd() {
        System.out.println("maven junit 执行了testAdd()!");
        HelloMaven helloMaven = new HelloMaven();
        int testAddValue = helloMaven.add(100, 200);
        //验证100+200是不是300 ,junit提供的方法,对比结果的
        //assertEquals(期望值,实际值),如果两个值相等证明是正确的,不相等就抛出异常==等于==错误
        Assert.assertEquals(300, testAddValue);
    }
}

? ? ? ? 到这里mavenjunit单元测试类已经创建成功,下面结合maven常用命令生命周期插件一起使用,实践一下。?


8.使用maven命令及生命周期插件

????????(1)maven的编译——mvn compile

? ? ? ? ??????????????????maven命令编译之前:maven.txt随便创建的资源文件

? ? ? ? ??????????????????maven使用命令编译mvn compile

? ? ? ? ??????????????????maven命令的mvn compile编译功能由两个插件完成,分别是:

? ? ? ? ??????????????????maven-resources-plugin-2.6.jar

? ? ? ? ??????????????????maven-compiler-plugin-3.1.jar

? ? ? ? ??????????????????——maven-resources-plugin-2.6.jar:src/main/resources/所有资源

????????????????????????件同时拷贝到mvn compile编译的target根目录下。

? ? ? ? ??????????????????——maven-compiler-plugin-3.1.jar:编译src/main/所有java源程序,编译之后

????????????????????????生成xxx.class字节码文件同时拷贝存放到mvn compile编译的target/classes/包

????????????????????????名(com.zhangsong.maventest)目录下。


????????(2)maven的清理——mvn clean

? ? ? ? ??????????????????maven命令清理之前target目录是mvn compile编译生成的目录,执行mvn

??????????????????????????clean,将会删除target目录(打包存放到本地仓库或本机仓库文件夹的jar包资源

??????????????????????????不会被删除)。mvn命令的mvn clean清理功能由插件完成。

? ? ? ? ??????????????????maven-clean-plugin:2.5.jar

? ? ? ? ??????????????????删除target目录及其中存放所有同时拷贝.class资源文件


????????(3)maven的测试编译——mvn test-compile

? ? ? ? ??????????????????由两个插件

? ? ? ? ??????????????????maven-resources-plugin-2.6.jar

? ? ? ? ??????????????????maven-compiler-plugin-?3.1.jar

? ? ? ? ??????????????????与mvn compile使用插件相同,区别是编译的文件不同,生成的.class和

??????????????????????????resources存放目录不同。

??????????????????????????首先,我们要明确为什么要测试编译?

??????????????????????????在java语言中,编译时运行时是不同时期独立进行的。因此这里,通过maven

??????????????????????????命令测试编译+junit单元测试进行编译时期测试程序。搞清楚这一点,咱们继续。

??????????????????????????而上面4部分(单元测试junit)中测试类TestHelloMaven.java已经创建,而它只

??????????????????????????是.java源程序,要编译成.class字节码文件,才能测试程序。

测试程序编译后同时拷贝target/test-classes/包名(com.zhangsong.maventest)目录中


????????(4)maven的测试:mvn test

??????????????????????????由一个插件完成测试程序的功能。

? ? ? ? ??????????????????maven-surefire-plugin:2.12.4.jar

??????????????????????????根据maven生命周期特性,当mvn test命令执行时,会再次执行mvn compile命

??????????????????????????令以及mvn test-compile命令,就是再次从生命周期头部开始执行。因此,当我

??????????????????????????们使用mvn test时,其实已经自动编译或拷贝src/main/所有资源src/test/所有

??????????????????????????资源target对应的classes目录下或test-classes目录下。

??????????????????????????使用mvn test不论 BUILD SUCCESS(构建成功)?或者 BUILD FAILED(构建

??????????????????????????失败都会在target目录中生成一个测试报告的目录target/surefire-reports,用

??????????????????????????作记录mvn ?test测试的结果信息测试报告文件分别用一个.txt文件和一个.xml文件

??????????????????????????记录。记录信息有:

? ? ? ? ??????????????????Tests run(测试个数)

? ? ? ? ??????????????????Failures(测试失败数)

? ? ? ? ??????????????????Errors(测试错误数)

? ? ? ? ??????????????????skipped(测试跳过数)

? ? ? ? ??????????????????elapsed(测试时间)

??????????????????????????如:


????????(5)maven的打包:mvn package

??????????????????????????把编译mvn compile、编译测试mvn test-compile、测试mvn test、并且按照

??????????????????????????pom.xml配置把主程序打包生成jar包或者war包。

??????????????????????????maven命令mvn package由一个插件完成打包

? ? ? ? ??????????????????maven-jar-plugin-2.4.jar

??????????????????????????生成jar包名称由项目坐标的artifactId-version.jar统一规范命名,这是maven

??????????????????????????默认规范,不建议更改。如:HelloMaven-1.0-SNAPSHOT.jar

    <artifactId>HelloMaven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--    打包格式-->
    <packaging>jar</packaging>

?? ? ? ? ? ? ? ? ? ? ? ? ? 对mvn package打包生成HelloMaven-1.0-SNAPSHOT.jar文件说明

?? ? ? ? ? ? ? ? ? ? ? ? ? 目录结构:仅打包src/main中的所以资源(java目录+resources目录)和

?? ? ? ? ? ? ? ? ? ? ? ? ? pom.xml等版本参数信息,其它目录资源不打包

mvn package--->HelloMaven-1.0-SNAPSHOT.jar
? ? ? ? ? ?│
? ? ? ? ? ?├──com
? ? ? ? ? ?│?? ? ? ?└─zhangsong
? ? ? ? ? ?│ ? ? ? ? ? ? ? ? ?└─maventest(路径:\com\zhangsong\maventest\)
? ? ? ? ? ?│?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?└─HelloMaven.class(拷贝src/main/java/所有源代码)
? ? ? ? ? ?│
? ? ? ? ? ?└──META-INF
? ? ? ? ? ?│ ? ? ? ? ?└─maven
? ? ? ? ? ?│?? ? ? ? ? │?? ?└─com.zhangsong.maventest
? ? ? ? ? ?│?? ? ? ? ? │?? ??? ?└─HelloMaven(路径:\META-INF\maven\com.zhangsong.maventest\HelloMaven\)
? ? ? ? ? ?│?? ? ? ? ? │?? ??? ? ? ? ? ? ? ?└─pom.properties(打包时的时间和项目坐标的三个参数)
? ? ? ? ? ?│?? ? ? ? ? │?? ??? ? ? ? ? ? ? ?│
? ? ? ? ? ?│?? ? ? ? ? │?? ??? ? ? ? ? ? ? ?└─pom.xml(打包时拷贝项目工程的pom.xml
? ? ? ? ? ?│?? ? ? ? ? │
? ? ? ? ? ?│?? ? ? ? ? └─MANIFEST.MF(打包时的清单版本、和存档版本、maven版本、jdk版本、操作打包的账户名C盘User名称】)
? ? ? ? ? ?│
? ? ? ? ? ?│
? ? ? ? ? ?└──maven.txt(拷贝src/main/resources/所有资源文件)?

?? ? ? ? ? ? ? ? ? ? ? ? ? ——HelloMaven.class对应src/main/java/所有源代码

??? ? ? ? ? ? ? ? ? ? ? ? ? ——pom.properties文件:打包时的时间和项目坐标的三个参数内容如下:

#Generated by Maven
#Thu Jul 22 17:00:39 CST 2021
version=1.0-SNAPSHOT
groupId=com.zhangsong.maventest
artifactId=HelloMaven

??? ? ? ? ? ? ? ? ? ? ? ? ? ——pom.xml文件:内容与项目工程pom.xml一样。

<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.zhangsong.maventest</groupId>
    <artifactId>HelloMaven</artifactId>
    <version>1.0-SNAPSHOT</version>
<!--    打包格式-->
    <packaging>jar</packaging>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!--单元测试程序的依赖 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>

??? ? ? ? ? ? ? ? ? ? ? ? ? ——MANIFEST.MF目录:打包时的清单版本、和存档版本、maven版本、jdk

??? ? ? ? ? ? ? ? ? ? ? ? ? 本、操作打包的账户名C盘User名称

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: ZSAndroid
Created-By: Apache Maven 3.8.1
Build-Jdk: 1.8.0_152

??? ? ? ? ? ? ? ? ? ? ? ? ? ——maven.txt文件:拷贝src/main/resources/所有资源文件


?????????(6)maven的安装:mvn install

??? ? ? ? ? ? ? ? ? ? ? ? ? 安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中。方便

??? ? ? ? ? ? ? ? ? ? ? ? ? 些重要项目离线保存或某些组织共享资源。

??? ? ? ? ? ? ? ? ? ? ? ? ? 执行mvn install,也要把compiletest-compiletestpackage四个生命周

????????????????????????????期重复执行一次,每个周期命令对应功能也会自动执行。

???? ? ? ? ? ? ? ? ? ? ? ? ? 安装在本地仓库中jar位置名称如何确定呢?

???? ? ? ? ? ? ? ? ? ? ? ? ? ——位置是路径,路径取决去项目坐标3个参数的拼接。拼接时,遇到“.”就分

???? ? ? ? ? ? ? ? ? ? ? ? ? 割成文件夹。\com\zhangsong\maventest\HelloMaven\1.0-SNAPSHOT

????? ? ? ? ? ? ? ? ? ? ? ? ? ——名称是artifactId-version.jar固定规范

???? ? ? ? ? ? ? ? ? ? ? ? ? 安装在本地仓库中jar如何引用呢

????? ? ? ? ? ? ? ? ? ? ? ? ? ——在非当前项目的pom.xml中的依赖处,引入该jar包项目坐标即可。

    <dependencies>
        <!--本地仓库jar包项目坐标 -->
        <dependency>
            <groupId>组织名</groupId>
            <artifactId>模块名</artifactId>
            <version>版本号</version>
        </dependency>
        <!--本地仓库HelloMaven-1.0-SNAPSHOT.jar包项目坐标 -->
        <dependency>
            <groupId>com.zhangsong.maventest</groupId>
            <artifactId>HelloMaven</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

?????????(7)maven的安装:mvn deploy

?? ? ? ? ? ? ? ? ? ? ? ? ? ?涉及到服务器搭建和web配置,这里就不介绍了,因为俺也不会~~~


9.总结

仅自己学习记录,如有错误,敬请谅解~,谢谢~~~

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-22 22:59:41  更:2021-07-22 22:59:49 
 
开发: 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年12日历 -2024/12/22 9:47:39-

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