maven详解

这篇具有很好参考价值的文章主要介绍了maven详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Maven详解

基本概念

简介

Maven是一个项目管理工具。它可以帮助程序员构建工程,管理jar包,编译代码,完成测试,项目打包等等
Maven工具是基于POM(Project Object Model,项目对象模型)实现的,在Maven的管理下每个项目都相当于是一个对象
Maven提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源类库
Maven标准化了项目的构建,即对项目结构,构建命令等进行了标准化定义
Maven是跨平台的,在Windows、Linux、Mac上,都可以使用同样的命令

maven目录结构

bin:存放maven的命令
boot:存放maven本身的引导程序,如类加载器等
conf:存放maven的配置文件
lib:存放maven本身运行所需的jar包

Maven仓库类型

本地仓库:
本地仓库指用户计算机中的文件夹。用来存储从远程仓库或中央仓库下载的jar包,
只有下载到本地仓库的jar包才能使用,项目使用jar包时优先从本地仓库查找

远程仓库:
远程仓库一般指私服,它是架设在局域网的仓库服务,可以从中央仓库下载资源,
供局域网使用,从而减少每个程序员都从中央仓库下载浪费的带宽

中央仓库:
中央仓库是互联网上的服务器,是Maven提供的最大的仓库,里面拥有最全的jar包资源
中央仓库访问速度较慢,我们一般都会配置镜像代理中央仓库的下载请求,如阿里镜像、华为镜像等
Maven中央仓库访问https://mvnrepository.com/

如果项目需要的jar包本地仓库没有,则会去远程仓库下载,下载到本地仓库即可使用
远程仓库不是必须配置的,如果本地仓库没有jar包,也没有配置远程仓库,则会直接从中央仓库下载
        

安装

下载

maven下载地址https://maven.apache.org/download.cgi

选择Download/选择Binary zip archive/Link坐标那个下载

配置环境变量

前提:配置java的环境变量(Maven是由Java语言开发的,运行时依赖Java环境)
MAVEN_HOME  路径(如D:\Autils2\maven3.8.3\apache-maven-3.8.3)
path中添加  %MAVEN_HOME%\bin

查看版本

打开CMD命令窗口,输入mvn -v,显示Maven版本和Java版本,证明安装成功

配置文件

配置本地仓库

<localRepository>F://repository</localRepository>

配置中央仓库镜像

<mirror>
    <!-- 指定镜像ID -->
    <id>nexus-aliyun</id>
    <!-- 匹配中央仓库。-->
    <mirrorOf>central</mirrorOf>
    <!-- 指定镜像名称 -->
    <name>Nexus aliyun</name>
    <!-- 指定镜像路径 -->
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

配置JDK版本

创建maven项目的时候,默认使用的JDK是1.5版本,验证语法、编译、运行时都会按照JDK1.5操作,这样就有很多语法无法使用

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


        

Maven工程

maven项目工程

maven工程类型

POM工程:POM工程是逻辑工程,用来整合其他工程的
JAR工程:普通Java工程,在打包时会将项目打成jar包
WAR工程:JAVA Web工程,在打包时会将项目打成war包

maven工程结构

文件目录结构:
src:源代码
target:编译生成的文件
pom.xml:Maven工程配置文件,如坐标信息等

项目结构:
src/main/java:存放项目的java 文件
src/main/resources:存放项目资源文件,如配置文件
src/test/java:存放项目的测试文件
src/test/resources:存放测试时的资源文件

项目构建的生命周期

maven有三套相互独立的生命周期:构建生命周期、clean生命周期(清理构建后的文件)、site生命周期(生成项目报告)
作为开发人员我们一般重点学习构建生命周期即可

验证 validate    验证项目是否正确
编译 compile    源代码编译
测试 Test    使用适当的单元测试框架(例如junit)运行测试。
打包 package    创建JAR/WAR包
检查 verify    对集成测试的结果进行检查,以保证质量达标。
安装 install    安装打包的项目到本地仓库,以供其他项目使用。
部署 deploy    拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程

Maven常用命令

注意:Maven依赖插件来执行命令,比如clean、validate等命令是maven自带的,tomcat7命令是引入的第三方插件
mvn clean    清除编译的class文件,即删除target目录。
mvn validate    验证项目是否正确
mvn compile    编译maven项目
mvn test    编译maven项目及运行测试文件
mvn package    编译maven项目及运行测试文件,并打包
mvn install    编译maven项目及运行测试文件并打包,并发布到本地仓库
mvn deploy    部署项目到远程仓库
mvn tomcat7:run    使用tomcat运行项目
        

Maven工程开发

pom文件配置

groupId:定义项目组名,命名规则使用反向域名
artifactId:定义项目名,命名使用小写字母
version:定义版本号。版本号一般有三段,第一段:革命性的产品升级/第二段:新功能版本/第三段:修正一些bug
packaging:定义打包方式

properties:定义一些配置信息:

dependencies:中定义依赖的jar包坐标:
查找依赖坐标的网站https://mvnrepository.com/

plugins:定义第三方插件

依赖范围

通过在dependency中添加scope,可以设置依赖的作用范围:
compile:默认范围。表示该依赖在编译和运行时生效,项目打包时也会将该依赖打包进去
provided:使用此依赖范围的Maven依赖,编译和测试时有效,但在运行时无效
runtime:编译时不需要生效,只在运行时生效
test:只在编译和运行测试代码的时生效,程序的正常运行不需要此类依赖
system:如果有些你依赖的jar包没有Maven坐标的,它完全不在Maven体系中,
这时候你可以把它下载到本地硬盘,然后通过system来引用(不推荐使用)
        

Maven工程测试

测试方法

黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值
白盒测试:需要写代码的。关注程序具体的执行流程
单元测试:是指对软件中的最小可测试单元进行检查和验证,Java里单元测试指一个类的功能

Junit使用

注意:
测试方法是可以独立运行的
测试方法没有参数和返回值

依赖:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>



注解【方法名上】:
@Test:声明测试方法
@Before:方法会在测试方法之前自动执行
@After:方法会在测试方法执行之后自动执行
          文章来源地址https://www.toymoban.com/news/detail-541042.html

到了这里,关于maven详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • maven详解

    简介 Maven是一个项目管理工具。它可以帮助程序员构建工程,管理jar包,编译代码,完成测试,项目打包等等 Maven工具是基于POM(Project Object Model,项目对象模型)实现的,在Maven的管理下每个项目都相当于是一个对象 Maven提供了一个免费的中央仓库,在其中几乎可以找到任何

    2024年02月13日
    浏览(10)
  • Maven安装(超详解)

    2.4.1 下载 下载地址:Maven – Download Apache Maven 在提供的资料中,已经提供了下载好的安装包。如下 :   2.4.2 安装步骤 Maven安装配置步骤: 解压安装 配置仓库 配置Maven环境变量 1、解压 apache-maven-3.6.1-bin.zip(解压即安装)     建议解压到没有中文、特殊字符的路径下。如课程

    2024年02月12日
    浏览(14)
  • Maven的scope详解

            maven 项目不同的阶段引入到classpath中的依赖是不同的,例如,编译时,maven 会将与编译相关的依赖引入classpath中,测试时,maven会将测试相关的的依赖引入到classpath中,运行时,maven会将与运行相关的依赖引入classpath中。依赖范围就是用来控制依赖与三种classpath(编

    2024年04月12日
    浏览(19)
  • 【Maven】<dependencyManagement>详解

    dependencyManagement 元素是 Maven POM 文件中的一个非常重要的元素,它用于集中管理项目中所有模块的依赖项版本,允许您在父 POM 中定义依赖版本,然后在子模块中引用这些版本而不需要显式指定版本号。这可以大大减少维护成本,确保在整个项目中使用一致的依赖版本。 以下

    2024年02月05日
    浏览(28)
  • Maven 安装和配置方法详解

    通常一个Java项目会引用大量的 jar 包,而jar 包之间可能存在各种依赖关系,如果运行Java项目时仅使用classpath 参数来管理jar包会非常不方便,此外,在项目编译、打包、升级、发布都会非常繁琐。Maven就是一个可以用来管理jar包的工具,可以用它来构建和管理任何基于java的项

    2024年02月16日
    浏览(19)
  • Maven安装详解+本地仓库路径配置

    一、准备工作 1、确定电脑上已经成功安装jdk7.0以上版本 2、win10操作系统 3、maven安装包 下载地址:Maven – Download Apache Maven 二、解压Maven安装包 在上述地址中下载最新的Maven版本,解压到指定目录(此处根据自己的需要),本人解压到了D:installmavenapache-maven-3.5.0目录下,里

    2024年02月12日
    浏览(51)
  • Maven--settings.xml配置详解

    一、settings.xml配置文件简介 Maven的settings.xml文件是一个全局配置文件,用于定义Maven的参数和配置。这个文件包含了Maven的一些高级配置,比如本地仓库的位置、代理设置、认证信息等。settings.xml文件位于Maven的安装目录下的conf文件夹中,在使用Maven的时候如果未指定settings.

    2024年01月19日
    浏览(31)
  • Linux环境下安装maven详解

    安装maven 1、需要本地有一个maven文件,例如apache-maven-3.8.6-bin.tar.gz 下载地址:Maven – Download Apache Maven,选择需要下载的文件,我选的是apache-maven-3.8.6-bin.tar.gz(这个可以用windows电脑下载好,之后传到linux系统中) 2、在 linux 中建立一个目录,存放maven文件,例如 mkdir  /home/s

    2024年02月15日
    浏览(28)
  • Maven--pom.xml文件详解

    1.pom简介 pom指的是project object model,又叫项目对象模型。Maven的pom文件是一个XML文件,用于描述项目的各种属性、依赖和构建信息,包括项目的名称、版本、许可证、作者、描述、依赖关系、构建过程、插件等。总的来说,POM文件是Maven工程的基本工作单元,它包含了项目的所

    2024年01月19日
    浏览(35)
  • maven的pom.xml文件详解

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包