全网最全、最新Maven构建工具核心知识(二)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

12.Maven核心----依赖管理

微信截图_20220610131037.png

  • packaging : 打包后压缩文件的扩展名,默认是jar,web应用是war。
  • packaging可以不写,因为默认就是jar
    pom.xml加入依赖的方式::

微信截图_20220610131106.png

  • 经过以上代码Maven会去本地仓库查有没有5.1.9这个版本的mysql-conncetor的jar包,如果在本地仓库中存在5.1.9这个版本的mysql-conncetor, 此时就会把这个版本的数据库绑定到这个Maven项目上。以上的mysql、mysql-conncetor、5.1.9对应的都是在本地仓库中存在的文件夹
  • 以上的依赖文件如果在本地仓库中没有,那么Maven会自动去远程仓库中进行寻找。
开发人员需要使用mysql驱动---->maven首先检查本地仓库---->私服---->镜像----->中央仓库
复制代码


13.Maven核心----配置属性

微信截图_20220610131116.png

14.Maven核心----构建

微信截图_20220610131121.png

  • Maven在进行项目的构建时, 配置信息,例如指定编译java代码使用的jdk的版本等


15. Maven核心----生命周期、常用命令、插件


  • maven生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
  • maven的命令:maven独立使用,通过命令,完成maven的生命周期的执行。 maven可以使用命令,完成项目的清理,编译,测试等等.
  • maven的插件:maven命令执行时,真正完成功能的是插件,插件就是一些jar文件, 一些类

微信截图_20220610131225.png

以下是一个标准的工程约定目录结构

微信截图_20220610131258.png

以下是Maven的常用命令

微信截图_20220610131308.png

15.1 mvn clean (清理)命令

微信截图_20220610131317.png

  • 以上就是一个插件,在生命周期中的清理阶段,使用Maven命令中的mvn clean清理命令,mvn clean之后会使用以上这个插件(jar包)完成清理工作。
  • 注意:清理工作是插件完成的,不是命令完成的,命令只是负责调用这些插件(jar包),插件来完成清理,编译,测试,报告,打包,安装,部署这些工作。
  • mvn clean:只编译主程序下的Java文件(即mian目录下的所有Java文件,不编译test文件夹下的测试程序)

15.2 mvn compile (编译主程序)命令


  • 以下这个是使用 mvn compile 命令编译主程序,所使用的插件
  • 使用 mvn compile命令,会使用两个插件,完成两个操作
    编译main/java/目录下的所有java 为class文件,将这些class文件存储到target/classes文件夹下

微信截图_20220610131412.png

  • 编译main/java/目录下的所有java文件,将这些class文件存储到target/classes文件夹下

微信截图_20220610131423.png

  • 这个插件会将src/main/resources文件夹中的文件拷贝到 target/classes的文件夹下


15.3 mvn test-compile (编译测试程序)命令


  • mvn test-compile :这个命令编译test文件夹下所有的测试程序,编译好的这些测试程序会存储到target/test-classes文件夹下


15.4 mvn test (测试程序)命令


  • 重点 : 测试程序的包路径一定要和主程序的包路径一致,这样才不会报错,也就是保证这两 个文件在同一个包路径下。
    微信截图_20220610131539.png
  • 此时可以看出test中的测试程序main中的主程序的路径是一样的。
  • 这个是执行的test/java文件夹下的测试程序,会将测试结果全部存储到target/surefire-resports文件夹中

微信截图_20220610131552.png

  • 注意 :在执行mvn test 命令时,会把测试以前的步骤重新进行一次(清理、编译主程序、编译测试程序),这是因为有 Maven生命周期的存在。所以此时需要的插件比较多。第一个编译的是main主程序,第二个编译的是test测试程序。

微信截图_20220610131646.png

  • 以上的这个插件是用来测试程序的。以下输出格式代表测试成功。

微信截图_20220610131702.png

  • 从 TESETS 以下代表的是测试结果 :
  • Runing代表的是执行的测试程序的路径以及测试程序的名称。
  • Maven junit testAdd代表的是该测试结果输出的信息。
  • Test run : 代表的是测试程序运行时的信息。(测试数量、失败、错误、跳过、测试时间)
  • Results : 代表的是这个测试程序输出的结果。(测试数量、失败、错误、跳过)
  • 以下代码测试失败。此时会抛出异常,并显示测试两个,失败一个。

微信截图_20220610131720.png

以下代码是测试结果:测试两个,失败了一个,会告诉你错误信息

Failed tests:testAdd2(com.yunbocheng.TestHelloMaven): expected:<5> but was:<3>
复制代码

微信截图_20220610131811.png

重点 :以上的错误信息会生成一个报告,这个报告在 target/surefire-reports文件夹下。测试的所有结果都在这个文件夹下。

讲以上的代码错修改完成,此时会显示以下运行结果。测试两个方法,且都成功。

微信截图_20220610131827.png

15.5 mvn package命令(打包主程序)


  • mvn package 命令,按照pom.xml配置文件把主程序打包为jar包或者war包。
  • 以下是打包使用的插件,在执行这插件之前,也会使用编译、测试的插件将这个项目在执行一遍,最后由mvn package这个命令将主程序进行打包。

微信截图_20220610131956.png

  • jar包以及war包就相当于一个压缩文件。
  • 打包传成功之后会在target目录下生成一个ch01-maven-1.0-SNAPSHOT.jar包
  • 这个jar包中信息的解释:(jar包中包含主成程序的类文件以及配置文件(pom.xml))
  • Hello这个项目主程序(HelloMaven)的路径以及字节码文件。
  • 里边存在一个META-INF文件夹,在文件夹下包含这个项目的pom.xml配置文件。
  • 里边还有原Maven项目src/mian/resources文件夹里边的文件(config.txt配置文件)
    这个配置文件是开发人员自己在mian目录下创建并书写的。
  • 针对这个jar包名称的解释:
  • ch01-maven : 就是该项目pom.xml配置文件artifactId(项目模块名称参数的信息。
  • 1.0-SNAPSHOT : 就是该项目pom.xml配置文件version(版本号)参数的信息。

重点 :这个jar包含所有的东西就是原Maven项目中main目录下的所有主程序的class文件以及开发人员自己编写的配置文件。


15.6 mvn install命令(安装主程序)


  • 会把本工程打包,并且按照本工程的坐标保存到本地仓库。即使把这个项目生成的jar包保存到你自定义的本机仓库或者默认仓库(.m2)中,这样其他的项目就可以使用你这个项目中的主程序方法了
  • 以下是执行mvn install命令所使用的插件,在执行这个插件之前,也会使用编译、测试、打包的插件将这个项目在执行一遍,最后由mvn package这个命令将这个Maven项目生成的jar包保存到本机仓库
  • 这个本机仓库的地址就是自己在Maven中自己配置的地址或者是默认地址(.m2)。

微信截图_20220610132150.png

  • 保存到本机仓库里的地址就是这个Maven项目中pom.xml配置文件中的坐标信息。
<groupId>com.yunbocheng</groupId>
<artifactId>ch01-maven</artifactId>
<version>1.0-SNAPSHOT</version>
复制代码

以上是该Maven项目中pom.xml配置文件中的坐标信息。以下是保存到本机仓库中的路径信息

C:\development\Maven\Maven-jar\com\yunbocheng\ch01-maven\1.0-SNAPSHOT\ch01-maven-1.0-SNAPSHOT.jar  
复制代码

可以看出坐标信息就是保存到本机仓库的路径信息

注意 : 在groupId这个参数中的信息,每一个小数点就代表一级文件夹

com.yunbocheng代表com/yunbocheng


16.单元测试 junit


  • 单元测试(测试方法):用的是junit, junit是一个专门测试的框架(工具)。
  • junit测试的内容: 测试的是类中的方法, 每一个方法都是独立测试的。
    方法是测试的基本单位(单元)。
  • maven借助单元测试,批量的测试你类中的大量方法是否符合预期的。

微信截图_20220610132253.png微信截图_20220610132310.png

测试程序格式

微信截图_20220610132411.png

17.关于 Maven项目中 pom.xml配置文件的解释


<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apche.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yunbocheng</groupId>
<artifactId>ch01-maven</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
  </dependency>
</dependencies>
</project>
复制代码
  • modelVersion : 是这个Maven的版本号,现在统一使用4.0.0这个版本
<!--这段代码表示的是该项目生成后的jar包在本机仓库中的保存路径-->
  <groupId>com.yunbocheng</groupId>
  <artifactId>ch01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
复制代码
<!--这段代码代表的是从外部引入进来的依赖jar包,Maven会自动寻找这个jar包,如果这个jar包在本机中存在直接拿来使用,如果不存在会自动去远程仓库中获取,并且获取到的远成jar包会在本机仓库保存一份,方便下次使用。-->
 <dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
  </dependency>
 </dependencies>
 <!--<dependencies>代表的是里边有多个插件(jar包),相当于多个插件的一个大括号,所有的插件都写在这个dependencies标签中-->
 <!--<dependency>这个标签里包含的是这个项目中的一个插件,他写在<dependencies>这个标签的里边,会有多个<dependency>标签,每一个标签就是一个插件-->
复制代码


18.编译插件配置


  • 插件可以在自己的项目中设置,最常用的是 maven 编译插件。设置项目使用的jdk版本时通过编译插件来指定。使用pom.xml配置文件中的< build >标签中设置。
  • build是用来构建配置项目的。
  • 控制配置 Maven构建项目的参数设置,如 :设置JDK的版本。

微信截图_20220610132456.png

  • 参数信息解释:
  • build :构建项目参数信息。
  • plugins :  配置插件,这个相当于所有插件的一个大括号,所有的插件都写在这个里面。
  • plugin : 配置具体的插件,这个代表该Maven项目中的一个插件信息,还有其他的插件。
  • groupId :该插件的组织名称。
  • artifactId : 插件的名称。
  • version :  插件的版本。
  • confiruration : 配置插件的信息。
  • source : 告诉Maven,我们写的代码是在jdk1.8上编译的。
  • target : 我们的程序应该运行在1.8的jdk上。


18.1 配置 jdk版本的两种方式


  • 第一种:使用 properties标签配置

微信截图_20220610132543.png

  • 第二种:使用 configuration 标签配置

微信截图_20220610132554.png

19. idea中设置Maven


  • 在idea中设置maven ,让idea和maven结合使用。
  • idea中内置了maven ,一般不使用内置的, 因为用内置修改maven的设置不方便。
  • 使用自己安装的maven, 需要覆盖idea中的默认的设置。让idea指定maven安装位置等信息
  • 在idea的文件中 Setting是设置当前项目的,Other Settings是为以后新建工程起作用
  • 在配置Maven的时候,这两个位置都要配置。


19.1配置Setting中的Maven


  • 第一步:配置Maven

微信截图_20220610132654.png

需要配置的三个地方

  • Maven Home directory  :  maven的安装目录。
  • User Settings File  :  就是maven安装目录conf/setting.xml配置文件 。
  • Local Repository :    本机仓库的目录位置。
  • 第二步:配置运行程序

微信截图_20220610132711.png

  • 配置JDK的版本
  • 设置一个参数信息,-DarchetypeCatalog=internal,这个参数信息的目的是为了使构建Maven项目时速度变快。
  • Maven在创建项目的时候会默认连网下载一个模板文件,这个模板文件大小有7M,为了避免 不下载这个模板文件,加上这个参数信息,表示我们用的是内部的内容,不用下载。
  • -DarchetypeCatalog=internal , maven项目创建时,会联网下载模版文件,比较大,使用    -DarchetypeCatalog=internal,不用下载, 创建maven项目速度快。(2019版本以后,新的就不用添加这个)


19.2 配置Other Settings


  • 第一步 :找到文件下拉菜单中的 新项目管理
  • 第二步 :找到新项目设置

微信截图_20220610132809.png

  • 第三步 : 找到Maven 和上边的配置方式一样

微信截图_20220610132819.png

  • 第四步 :添加jdk与参数信息

微信截图_20220610132830.png

20.idea创建JavaSE项目


使用模版创建项目

  • maven-archetype-quickstart : 普通的java项目
  • maven-archetype-webapp : web工程

微信截图_20220610133000.png

以下是使用maven-archetype-quickstart 模块构建成功后的结构目录

微信截图_20220610133021.png

注意:其中 resources文件 是我们自己手动创建的,maven-archetype-quickstart模块没有提供这两个文件夹。其中APP类是模块自动生成的,如果想用别的类文件,直接把这份删除即可。

在idea中,不同的文件夹展示的形式不一样

微信截图_20220610133033.png

  • 源根 : 代表Java主程序的根文件夹。
  • 测试源根 : 代表Java测试程序的根文件夹。
  • 资源根 :代表main文件夹下的配置文件。
  • 测试资源根 :代表test文件夹下的配置文件。

以下目录结构中包含了项目执行之后生成的target文件夹。

微信截图_20220610133134.png

以下是一个Maven构建的Java项目执行完程序之后结构,Java项目生成的是jar包

微信截图_20220610133201.png

21.idea创建Web项目


使用模版创建项目

  • maven-archetype-quickstart : 普通的java项目
  • maven-archetype-webapp : web工程

以下就是使用maven-archetype-webapp模块设置的web工程目录

微信截图_20220610133333.png

此时需手动在main文件夹下创建一个Java目录(源根),还需一个存放主程序配置文件夹(资源根)

还需要在src下创建一个与main文件夹同级的测试文件夹(test),在test文件夹下创建一个测试文件夹(测试源根),还有一个测试文件夹下的配置文件夹(测试资源根)

以下就是一个完整的Web Maven项目结构

微信截图_20220610133342.png

在Maven中不用从导入外部servlet (jar包)与 jsp(jar包),只需要在pom.xml中加入servlet与jsp依赖即可

注意:以下这些依赖项不需要手动编写,直接去中央仓库中下载这个pom.xml源代码。

中央仓库地址 :中央仓库

<dependencies> 
  <!--这些依赖项全部写在dependencies标签内部-->  
  <!--添加servlet依赖项(servlet的jar包)-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <!--添加jsp依赖项(jsp的jar包)-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
</dependencies>
复制代码

以下是一个Maven构建的Web项目执行完程序之后结构,Java项目生成的是war包

这个war包就是最终交付给客服的web文件,这个war包解压后可以直接使用

  • 此时将这个war包放到 Tomcat/webapps下,之后启动Tomcat/bin/startup.bat,启动之后在网页上就可以直接运行这个war包中的文件。

微信截图_20220610133433.png

22. idae中导入Maven工程(模块)


22.1 解决依赖不能识别的问题:


  • 第一种 :将鼠标停留在pom.xml文件上,右键选中Maven,之后点击重新加载项目。
  • 注意 :此时刷新的只是这一个项目的依赖文件。

微信截图_20220610133511.png

  • 第二种:在Maven栏中点击刷新按钮
  • 注意 : 此时刷新的是整个在Maven栏中存在的项目

微信截图_20220610133520.png

22.2 idea导入Maven模块


  • 第一步 :找到项目结构,找到模块,然后点击加号,导入模块。

微信截图_20220610133558.png

  • 第二步 : 在你的资源管理器中找到你要导入的Maven模块。

微信截图_20220610133616.png

  • 第三步 : 选中从外部模型导入模块,选择Maven,点击确定。

微信截图_20220610133708.png

  • 第四步 :将缺少的依赖进行勾选。idea会自定为我们选择的。

微信截图_20220610133640.png

23.依赖管理


  • 依赖范围, 在pom.xml配置文件中使用scope标签表示的。
  • scope:表示依赖使用的范围,也就是在maven构建项目的那些阶段中起作用。
  • maven构建项目 编译, 测试 ,打包, 安装 ,部署 过程(阶段)
  • scope的值有 :  compile, test, provided ,默认是compile
  • compile : 在编译, 测试 ,打包, 安装 ,部署 这些阶段都要用到这个依赖的jar包。
  • test :只在测试程序阶段使用这个依赖jar包,
  • provided(提供者) : 在编写主程序和运行程序阶段使用这个依赖jar包。

微信截图_20220610133807.png

  • 重点 : 使用compile ,该项目打包之后,会在生成的war包或者jar包中存在被compile声明的依赖项(即jar包),
    使用provided,该项目打包之后,生成的jar包或者war包中不存在被peovided声明的依赖项(jar包)。
  • 在pom.xm文件中添加依赖jar包的时候,如果本机仓库没有,Maven会自动到中央仓库进行下载,不用开发人员自己解决,并且加入依赖项的代码(坐标)可以去中央仓库进行复制粘贴。


24.Maven常用操作


24.1 Maven属性设置


  • 这个属性设置是Maven提供的。
<!--在 properties标签中声明的就是Maven属性的设置 -->
<!--maven.compiler.source 这是属性名,1.8这是属性值-->
<properties>
    <!--maven构建项目使用的编码方式,避免中文乱码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--编译代码使用饿jdk版本-->
    <maven.compiler.source>1.8</maven.compiler.source>
    <!--运行程序时使用的jdk版本-->
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
复制代码


24.2 Maven全局变量


  • 这个属性是开发人员自定义的。
  • 自定义的属性 :
  • 在 properties标签中 通过自定义标签声明变量(标签名就是变量名)。
  • 在pom.xml文件中的其它位置,使用 ${标签名} 使用变量的值。
  • 自定义全局变量一般是定义依赖的版本号, 当你的项目中要使用多个相同的版本号, 先使用全局变量定义, 在使用${变量名}
<!--在 properties 标签中声明自定义的全局变量-->
<properties>
    <!--maven构建项目使用的编码方式,避免中文乱码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--编译代码使用饿jdk版本-->
    <maven.compiler.source>1.8</maven.compiler.source>
    <!--运行程序时使用的jdk版本-->
    <maven.compiler.target>1.8</maven.compiler.target>
    <!--自定义变量(这个变量名就是标签名),表示版本号-->
    <!--这个标签名可以自己定义,因为在XML文件中标签名随意定义,没有要求。-->
    <spring.version>5.2.0</spring.version>
</properties>
复制代码
  • 之后在其他地方使用这个版本号的时候就不用挨个的书写版本号,直接使用这个变量。
  • 这样的话只要在properties 中修改这个版本号,修改一次,在其他的依赖中这个版本号都会更改。

微信截图_20220610133856.png微信截图_20220610133912.png

24.3 资源插件


  • 在pom.xml的 build标签中加入resources标签
<build>
    <!--只要将这个resources标签中放到buil标签中就可以,可以是任意的位置-->
  <resources>
    <resource>
    <directory>src/main/java</directory><!--所在的目录-->
    <includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
    <include>**/*.properties</include>
    <include>**/*.xml</include>
    </includes>
    <!--filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了-->
    <filtering>false</filtering>
    </resource>
  </resources>
</build>
<!--以上代码代表的含义:将src/main/java目录下得所有.properties和.xml文件-->
复制代码

例如 :mybatis课程中会用到这个作用。

  • 默认没有使用resources的时候, maven执行编译代码时, 会把src/main/resource目录中的文件拷贝到target/classes目录中。对于src/main/java 目录下的非Java文件不处理,不会拷贝到target/classes目录中。
  • 我们程序有时需要把一些文件放在src/main/java 目录中,当我们在执行Java程序时,需要用到 src/main/java 目录中的文件,需要告诉Maven在 使用命令mvn compile 编译src/main/java目录下的程序的时候,需要把Java文件夹中的非Java文件一同拷贝到target/classes目录中




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 Java 关系型数据库
全网最全、最新Maven构建工具核心知识,这篇文章包你这辈子也忘不掉Maven!!
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
全网最全、最新Maven构建工具核心知识,这篇文章包你这辈子也忘不掉Maven!!
|
3月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
6月前
|
前端开发 JavaScript Java
npm与Maven:前端与后端构建工具深度对比学习
npm与Maven:前端与后端构建工具深度对比学习
185 0
|
6月前
|
Java 测试技术 项目管理
Java基础教程(22)-构建工具Maven的基本使用
【4月更文挑战第22天】Maven是Java项目管理及构建工具,简化构建、测试、打包和部署等任务。遵循约定优于配置原则,核心是`pom.xml`配置文件,用于管理依赖和项目信息。安装涉及下载、解压、配置环境变量。在IDEA中使用Maven创建项目,通过`pom.xml`添加依赖和管理版本。常用命令包括`clean`、`compile`、`test`、`package`、`install`和`deploy`。IDEA支持直接执行这些命令。
|
6月前
|
IDE Java Maven
Maven或Gradle:构建工具的使用和配置等知识讲解梳理
Maven或Gradle:构建工具的使用和配置等知识讲解梳理
203 1
|
Java 大数据 测试技术
大数据基本开发工具的构建工具的Maven
在大数据开发中,构建工具是不可或缺的一部分。Maven 是一个非常流行的 Java 构建工具,也被广泛应用于大数据项目中。本文将介绍 Maven 在大数据基本开发工具中的应用以及如何使用 Maven 构建和管理大数据项目。
107 0
|
SQL XML 缓存
高效使用Java构建工具,Maven篇|云效工程师指北
高效使用Java构建工具,Maven篇。众所周知,当前最主流的Java构建工具为Maven/Gradle/Bazel,针对每一个工具,我将分别从日常工作中常见的场景问题切入,例如依赖管理、构建加速、灵活开发、高效迁移等,针对性地介绍如何高效灵活地用好这3个工具。
1620 2
高效使用Java构建工具,Maven篇|云效工程师指北
|
Ubuntu Java Apache
Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!
相信作为Java开发者的你早已经受够了maven的编译缓慢,但是又由于历史包袱、使用习惯等问题暂时切换不了其他更快的构建工具,这里笔者将给你介绍一款更快的maven——maven-mvnd。
Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!
|
XML 存储 Java
全网最全、最新Maven构建工具核心知识(一)
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
全网最全、最新Maven构建工具核心知识(一)
|
XML IDE Java
【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
288 0
【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )