Maven是一个开源的项目管理工具,主要用于构建和管理Java项目、依赖管理和文档生成,它可以自动下载所需的依赖库,并自动构建整个项目。理解Maven需要了解以下几个方面:
1. 项目对象模型(Project Object Model,POM):Maven使用POM来描述项目的结构和依赖关系。POM是一个XML文件,包含了项目的元数据信息,如项目的组织结构、依赖项、构建配置等。
2. 项目生命周期(Build Lifecycle):Maven定义了一套标准的构建生命周期,包括了clean、validate、compile、test、package、install和deploy等阶段。每个生命周期阶段都包含了一系列的插件目标,用于执行相应的任务。
3. 依赖管理:Maven能够自动下载和管理项目的依赖项。通过在POM文件中定义依赖项,Maven可以自动下载所需的库文件,并将其添加到项目的类路径中。
4. 插件机制:Maven的插件机制使得可以通过插件来扩展和定制构建过程。Maven提供了大量的常用插件,如编译插件、测试插件、打包插件等。同时,也可以编写自定义的插件来满足特定需求。
5. 构建过程和目录结构:Maven的构建过程是基于约定的,即项目的源代码和资源文件应该按照特定的标准目录结构进行组织。这样做可以使得构建过程更加简洁和可靠。
Maven是一个强大的项目管理工具,能够简化和规范Java项目的构建和管理过程。通过了解上述几个方面,可以更好地理解和使用Maven。
Maven 3.x.x 版本需要JDK 1.7及以上版本,Maven 2.x.x版本需要JDK 1.4及以上版本,Maven 1.x.x版本需要JDK 1.3及以上版本。
JAVA_HOME指明JDK安装路径,此路径下包括lib,bin等文件夹
echo %java_home%
查看java版本
java -version
查看已安装的 Java 编译器(JDK)的版本号
在命令行中运行javac -version
将显示当前安装的 JDK 的版本号。这个命令用于检查 JDK 是否正确安装并确定版本号,以确保可以编译和运行 Java 程序。
javac -version
可以看到jdk版本已经到了21
JDK Release Notes
Maven – Download Apache Maven
此电脑--右键属性--高级系统设置--环境变量
新建系统变量
变量名:Maven_Home
变量值:D:\software\maven\apache-maven-3.9.6
增加: %Maven_Home%\bin
Xms和-Xmx:这些选项用于设置JVM的初始堆大小和最大堆大小。通过调整这些值,您可以更好地管理Maven在构建项目时所需的内存。
变量名:MAVEN_OPTS
变量值:-Xms128m -Xmx512m
安装成功
......
mvn help:system是Maven命令的一个子命令,用于显示有关Maven系统环境的详细信息。执行该命令会输出关于Maven版本、Java版本、操作系统信息以及其他相关系统属性的信息。这些信息可以帮助您诊断和调试与构建相关的问题。
输出的信息包括:
Maven版本:Maven的版本号。
Java版本:运行Maven的Java版本号。
操作系统信息:运行Maven的操作系统名称和版本。
JVM信息:运行Maven的Java虚拟机名称和版本。
默认本地仓库:Maven默认的本地仓库路径。
Java Home:Java安装路径。
Java Classpath和Java Library Path:Java类路径和Java库路径。
系统属性:Maven执行期间设置的系统属性列表。
这些信息对于排查构建问题、检查环境配置以及确定Maven和Java版本的兼容性非常有用。
Maven:Maven本质上是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
POM:(Project Object Model):项目对象模型
Maven是一个项目管理工具,主要用于项目的构建、依赖管理等,而jemeter是一个性能测试工具,两者并无直接关联。但是在进行性能测试时,可能会遇到需要使用到某些jar包,而该jar包需要使用Maven进行下载和管理,因此安装jemeter需要maven环境。
黑马程序员Maven全套教程,maven项目管理从基础到高级,Java项目开发必会管理工具maven_哔哩哔哩_bilibili
MAVEN的安装与配置教程(超详细版)_maven安装及配置教程-CSDN博客
Maven的安装与配置_maven安装-CSDN博客
Maven安装与配置图文教程_java_脚本之家
Maven – Download Apache Maven
Maven学习(3)Maven的依赖管理_maven依赖管理_angelbabyfalse的博客-CSDN博客