iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Maven使用方法详及方式详细介绍
  • 250
分享到

Maven使用方法详及方式详细介绍

Maven使用方法Maven方法Maven使用方式 2022-11-13 19:11:40 250人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录Maven简介1、软件开发中的阶段2、Maven能做什么3、没有使用maven怎么管理依赖4、什么是maven约定目录结构maven的使用方式POM文件坐标的概念依赖 depen

Maven简介

1、软件开发中的阶段

需要分析:分析项目具体完成的功能,有什么要求,具体怎么实现。设计阶段:根据分析的结果,设计项目的使用什么技术,解决难点。开发阶段:编码实现功能,编译代码,自我测试。测试阶段:专业的测试人员,测整个项目的功能十分符合设计要求。出一个测试告。项目的打包,发布阶段:给用户安装项目。

2、Maven能做什么

1)项目的自动构建,帮助开发人员做项目代码的编译,测试,打包,安装,部署等工作。

2)管理依赖(管理项目中使用的各种jar包)。

依赖:项目中需要使用的其他资源,常见的是jar比如项目要使用mysgl驱动,我们就说项目依赖mysgl驱动。

3、没有使用maven怎么管理依赖

管理jar,需要从网络中单独下载某个jar,需要选择正确版本,手工处理jar文件之间的依赖。a.jar里面要使用b.jar的类。

4、什么是maven

maven是apache基金会的开源项目,使用java语法开发。Maven这个单词的本意是:专家,内行。读音是['meIv(e)n]或['mevn]。

maven是项目的自动化构建工具,管理项目的依赖。

约定目录结构

maven项目使用的大多人遵循的目录结构,叫做约定目录结构。一个maven项目是一个文件夹。

比如项目叫做Hello

maven的使用方式

①maven可以独立使用:创建项目,编译代码,测试程序,打包,部署等等。

② maven和idea一起使用:通过idea借助maven,实现编码,测试,打包等等。

POM文件

POM:Project Object Model项目对象模型,maven把项目当做模型处理。操作这个模型就是操作项目。maven通过pom.xml文件实现项目的构建和依赖的管理。

pom 文件:即 Project Object Model项目对象模型。 Maven把一个项目的结构和内 容抽象成一个模型,在xml文件中进行声明,以方便进行构建和描述,

pom.xml是Maven的灵魂。所以,maven环境搭建好之后,所有的学习和操

作都是关于pom.xml的。

那么我们来看一下pom.xml文件是什么样的

<?xml version="1.0" encoding="UTF-8"?>
        <!--project是跟标签,后面是约束文件-->
<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">
  <!--pom模型的版本,就是4.0.0-->
  <modelVersion>4.0.0</modelVersion>
  <!--坐标-->
  <groupId>youfei1_v</groupId>
  <artifactId>ch01-Maven-j2se</artifactId>
  <version>1.0</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
</project>

坐标的概念

坐标组成是groupid,artifiactld,version。坐标概念来自数学

坐标作用:确定资源的,是资源的唯一标识。在maven中,每个资源都有坐标。坐标值是唯一的。简称叫gav。

拿servlet依赖举例

		<!--servlet依赖-->
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version> 

groupid:组织名称,代码。公司,团体或者单位的标识。这个值常使用的公司域名的倒写。例如:学校的网站www.sanlian.com,groupId:com.sanlian

如果项目规模比较大,也可以是域名倒写+大项目名称。

例如:www.baidu.com , 无人车:com.baidu.appollo

artifactid:项目名称,如果groupId中有项目,此时当前的值就是子项目名。项目名称是唯一的。

version:版本,项目的版本号,使用的数字。三位组成。例如主版本号,次版本号小版本号,例如:5.2.5。

注意:版本号中有-SNAPSHOT,表示快照,不是稳定的版本。

项目使用gav:

1.每个maven项目,都需要有一个自己的gav。

2.管理依赖,需要使用其他的jar,也需要使用gav作为标识。

依赖 dependency

依赖:项目中要使用的其他资源(jar)。

需要使用maven表示依赖,管理依赖。通过使用dependency和gav一起完成依赖的使用。

注意:需要在pom.xml文件中,使用dependencies和dependency,还有gav完成依赖的说明。

使用依赖的格式:这里拿junit依赖举例,标签中的指的是项目的公司,标签中指的是项目名称,标签中指的是项目的版本。

  <dependencies>
    <!--测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

注意:标签要放到标签的下面

打包类型

标签:项目打包的类型,有jar,war,ear,pom等等,默认是jar。

注意:标签的放置位置是这个项目的坐标下面

例如:

<!--坐标-->
  <groupId>youfei1_v</groupId>
  <artifactId>ch01-Maven-j2se</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

仓库概念

仓库是存东西的,maven的仓库存放的是:

1.maven工具自己的jar包。

2.第三方的其他jar,比如项目中要使用Mysql驱动。

3.自己写的程序,可以打包为jar存放到仓库。

修改本地仓库位置

本地仓库(本机仓库):位于你自己的计算机,它是磁盘中的某个目录

本地仓库:默认路径,是你登录操作系统的账号的目录中/.m2/repository

C:\Users\NING MEI.m2\repository

修改本地仓库的位置:修改maven工具的配置文件(maven的安装路径\conf\setting.xml)步骤:

1)创建一个目录,作为仓库使用。目录不要有中文和空格。目录不要太深。

例如:D:\oppo

2)修改setting.xml文件,指定到刚刚创建的目录,例如:D:\oppo

实例演示:找到maven安装目录下的conf目录中的settings.xml文件,

在这个文件里面增加这个标签,里面指定新的仓库地址

仓库的工作方式

仓库的分类

本地仓库, 就是你的个人计算机上的文件夹,存放各种jar。

远程仓库,在互联网上的,使用网络才能使用的仓库。

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

②:中央仓库的镜像:就是中央仓库的备份,在各大洲,重要的城市都有镜像。

③:在公司内部,在局域网中使用的,不是对外使用的。

仓库的使用,maven仓库的使用不需要人为参与。

如果仓库中有这个jar包就会用,没有就会去互联网上下载,从网络下载的资源,最终会存到本地仓库一份, 当你下次在用的时候,直接从本地仓库首先获取资源。

例如开发人员需要使用mysql驱动,maven首先查本地仓库—>私 服—>镜像—>中央仓库。

配置文件说明

例如:spring依赖和spring-aspects依赖,这些东西表示我们项目中要用到spring和spring-aspects jar包,由maven在仓库中找到这个jar包并使用它。

<!--spring依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <!--spring-aspects依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>

注意:执行命令要在项目的pom文件所在的位置执行命名。

junit单元测试

单元测试(junit):

junit是一个单元测试的工具,在java中经常使用。

单元:在java中指的是方法。 一个方法就是一个单元,方法是测试的最小单位。

作用:使用junit去测试方法是否完成了要求。开发人员自测。

使用单元测试

  <dependencies>
    <!--测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

在src/test/java目录中创建测试类文件。写测试代码,单元测试使用的建议:

1.测试类的定义,名称一般是Test+要测试的类名称

2.测试类它的包名和要测试的类包名一样。

3.在类中定义方法,要测试代码。

方法的定义:public方法, 没有返回值

方法名称自定义(建议Test+测试的方法名称)

方法没有参数

4在测试类中的方法,可以单独执行。测试类也可以单独执行

5.在方法的上面加入@Test

生命周期与插件和命令

maven的生命周期:项目构建的各个阶段。包括清理,编译,测试,报告,打包,安装,部署。

插件:要完成构建项目的各个阶段,要使用maven的命令,执行命令的功能是通过插件完成的。插件就是jar,一些类。

命令:执行maven功能是由命令发出的。比如mvn compile

命令:

① mvn clean:清理命令,作用删除以前生成的数据,删除target目录。

插件:maven-clean-plugin,版本是2.5。

②mvn compile:编译命令,执行的代码编译,把src/main/java目录中的java代码编译为class文件,同时把class文件拷贝到target/classes目录。这个目录classes是存放类文件的根目录(也叫做类路径, classpath)

插件:maven-compiler-plugin版本3.1编译代码的插件

maven-resources-plugin版本2.6资源插件,处理文件的。作用是把src/main/resources目录中的文件拷贝target/classes目录中。

③mvn test-compile:编译命令,编译src/test/java目录中的源文件,把生成的class拷贝到target/test-classes目录。同时把src/test/resources目录中的文件拷贝到test-clasess目录

插件:maven-compiler-plugin版本31编译代码的插件

maven-resources-plugin版本2.6资源插件,处理文件的

④mvn test:测试命令,作用执行test-classes目录的程序,测试src/main/java目录中的主程序代码是否符合要求。

插件:maven-surefire-plugin版本2.12.4

⑤mvn package:打包,作用是把项目中的资源class文件和配置文件都放到一个床缩文件中,默认压缩文件是jar

类型的。WEB应用是war类型,扩展是jar,war的。

插件:maven-jar-plugin版本2.4执行打包处理。生成一个jar扩展的文件,放在target目录下,I

打包的文件包含的是src/main目录中的所有的生成的class和配置文件和test无关。

⑥mvn install:把生成的打包的文件,安装到maven仓库。

插件:maven-install-plugin版本2.4把生成的jar文件安装到本地仓库。

注意:每执行一个命令,都会自动先执行前面的, 例如:执行第二个编译命令,它首先会自动执行清理命令,执行第三个编译test命令,它首先会自动执行第一个清理命令和第二个编译命令。

自定义配置插件

在pom.xml文件中,build标签中,设置插件。

例如设置构建项目相关内容

<build>
<plugins>
<!--设置插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!--指定编译代码的jdk版本-->
<target>1.8</target> <!--运行java程序使用的jdk版本-->
</configuration>
</plugin>
</plugin>
</plugin>

注意:默认使用1.7版本的jdk 通过此方式 可以更改;build标签和project标签平级。

到此这篇关于Maven使用方法详及方式详细介绍的文章就介绍到这了,更多相关Maven使用方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Maven使用方法详及方式详细介绍

本文链接: https://www.lsjlt.com/news/171227.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Maven使用方法详及方式详细介绍
    目录Maven简介1、软件开发中的阶段2、Maven能做什么3、没有使用maven怎么管理依赖4、什么是maven约定目录结构maven的使用方式POM文件坐标的概念依赖 depen...
    99+
    2022-11-13
    Maven使用方法 Maven方法 Maven使用方式
  • fastjson 使用方法详细介绍
    Fastjson介绍Fastjson是一个Java语言编写的JSON处理器。遵循http://json.org标准,为其官方网站收录的参考实现之一。功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、M...
    99+
    2023-05-30
    fastjson 使用
  • React Immutable使用方法详细介绍
    目录1. 介绍2. 优缺点3. 对象处理4. 数组处理5. 优化组件渲染6. immutable和redux集合使用1. 介绍 假设当前 redux 的大小为 1G,现在要修改 re...
    99+
    2024-04-02
  • 详细介绍Github的使用方法
    随着互联网技术的不断发展,越来越多的开发者开始加入到开源项目中,Github作为目前全球最大的代码托管平台之一,也成为了开发者们分享、学习、合作的重要工具之一。然而,如何使用Github来进行代码管理、版本控制、协作开发等,还是很多新手开发...
    99+
    2023-10-22
  • Vuex详细介绍和使用方法
    目录一、什么是Vuex二、运行机制三、创建项目1、使用脚手架搭建Vue项目2、安装Vuex3、启动项目4、配置使用Vuex4.1、创建store文件夹4.2、配置全局使用store对...
    99+
    2024-04-02
  • Java maven详细介绍
    目录maven什么是maven仓库的种类仓库的配置本地仓库配置私服配置中央仓库配置maven标准目录结构常用命令maven项目的生命周期pom.xml依赖适用域总结maven 什么是...
    99+
    2024-04-02
  • 详细介绍golang中.()的使用方法
    Golang是一门非常流行的编程语言,在很多领域都有着广泛的应用。在开发过程中,很多时候我们需要将函数作为参数传递给其他函数,这时候就需要用到golang中的.()用法。本文将详细介绍golang中.()的使用方法。什么是.()用法?在go...
    99+
    2023-05-14
  • 详细docker-maven-plugin使用方法
    目录Docker-Maven-PluginMaven插件自动部署步骤1、修改宿主机的docker配置,开放2375端口,让其可以远程访问2、刷新配置,重启服务3、配置容器防火墙&nb...
    99+
    2024-04-02
  • ReentrantLock介绍及使用(超详细)
    点击 Mr.绵羊的知识星球 解锁更多优质文章。 目录 一、介绍 1. 简介 2. 是什么类型的锁 3. 优点 4. 原理 5. 主要方法 6. 使用时注意事项 二、实际应用 1. 案例一 2. 案例二 一、介绍 1. 简介     ...
    99+
    2023-09-20
    java 开发语言
  • Mysql优化方法详细介绍
    目录1、字段属性2、字段NOT NULL3、JOIN代替子查询4、UNION代替手动创建临时表5、事务6、索引下面聊聊mysql常见的优化方法。 1、字段属性 mysql是一...
    99+
    2023-02-03
    Mysql优化 Mysql优化方法
  • Python3 pickle模块的使用方法详细介绍
    pickle模块特点 1、只能在python中使用,只支持python的基本数据类型。 2、可以处理复杂的序列化语法。(例如自定义的类的方法,游戏的存档等) 3、序列化的时候,只是...
    99+
    2024-04-02
  • Golang内置函数使用方法详细介绍
    Golang是一种非常强大的编程语言,其提供许多内置函数以方便开发者进行编程。在本文中,我们将详细介绍Golang内置函数的使用方法,以供开发者参考。make函数make函数主要用于创建一个数据类型的对象(slice、map或channel...
    99+
    2023-05-16
    Golang(Go语言) 内置函数(built-in functions) 使用方法(usage methods)
  • React中setState/useState的使用方法详细介绍
    目录一、React如何使用setState/useState的最新的值A.使用setState的最新的值B.使用useState的最新的值二、React中setState/useSt...
    99+
    2023-05-14
    React setState与useState React setState React useState
  • SpringCloud Gateway DispatcherHandler调用方法详细介绍
    目录前言DispatcherHandler类声明handle方法最后总结一下前言 之前几节我们分析了请求是如何调用到HttpWebHandlerAdapter的,然后再调用到Disp...
    99+
    2022-11-13
    SpringCloud Gateway DispatcherHandler SpringCloud DispatcherHandler
  • 详细介绍Gitee码云的调用方式
    Gitee是一个基于Git的代码托管平台,提供代码托管、协作、编译、部署等服务,以及完整的软件生命周期解决方案。Gitee码云是其国内版本,拥有更好的访问速度和更好的用户体验。在开发过程中,如何在项目中调用Gitee码云的代码成为了一个很重...
    99+
    2023-10-22
  • $.ajax()方法参数的详细介绍
    本篇内容主要讲解“$.ajax()方法参数的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“$.ajax()方法参数的详细介绍”吧!会灵活的运用ajax的...
    99+
    2024-04-02
  • NodeJs操作MYSQL方法详细介绍
    目录在项目中操作数据库的步骤安装与配置 mysql 模块1. 安装 mysql 模块2. 配置 mysql 模块3. 测试 mysql 模块能否正常工作使用 mysql 模块操作 M...
    99+
    2024-04-02
  • Androidwebview加载H5方法详细介绍
    目录1,安卓APP 怎么用webview加载H52,H5怎么调用安卓定义的方法3,安卓怎么调用H5定义的方法这篇文章主要阐述3个知识点 安卓APP 怎么用webview加载H5H5怎...
    99+
    2024-04-02
  • Kotlin扩展方法超详细介绍
    目录前言一、扩展方法1.扩展方法的原型2.扩展方法的使用二、Kotlin扩展方法实现原理三、泛型扩展方法四、扩展属性五、为伴生对象添加扩展六、Kotlin 中常用的扩展七、案例前言 ...
    99+
    2024-04-02
  • ajax数据传输方式详细介绍
    这篇文章主要介绍“ajax数据传输方式详细介绍”,在日常操作中,相信很多人在ajax数据传输方式详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ajax数据传输方式详细...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作