当前位置: 首页 > article >正文

2024最详细Maven配置教程

1、Maven

1.1、Maven简介

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

1.2、Maven中央仓库

https://mvnrepository.com/

1.3、Maven工程和非Maven工程对比

在这里插入图片描述

1.4、下载Maven

在这里插入图片描述

1.5、配置Maven

下载以后,解压,解压时不建议放在中文目录中。
在这里插入图片描述
在这里插入图片描述
配置阿里云中央仓库

<mirror>
		  <id>alimaven</id>
		  <name>aliyun maven</name>
		  <url>https://maven.aliyun.com/repository/central</url>
		  <mirrorOf>central</mirrorOf>        
 	</mirror>

以后下载jar依赖文件都会到阿里云下载。

1.5.2、配置环境变量

在这里插入图片描述
在这里插入图片描述

1.5.3、验证环境变量

在这里插入图片描述

1.6、配置IDEA的Maven

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.7、IDEA创建Maven工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
web工程结构
在这里插入图片描述

javase工程结构

在这里插入图片描述

1.9、添加依赖

在这里插入图片描述

1.10、Maven常用命令

mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类

1.11、将相关工程添加到本地仓库

在这里插入图片描述
在这里插入图片描述
1.12、解决JDK版本问题
在pom.xml中添加,如下plugin插件,即可解决JDK或jre版本问题.

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>

        <!--Maven编译编译插件-->
        <artifactId>maven-compiler-plugin</artifactId>

        <version>3.6.0</version>

        <configuration>
          <!--指定编译的JDK或JRE版本-->
          <source>11</source>

          <target>11</target>

        </configuration>

      </plugin>

    </plugins>

  </build>

1.14、创建父子Maven工程

1.14.1、创建Maven父工程
父工程的作用主要用于规范/规定所有工程中统一的依赖文件。
在这里插入图片描述

1.14.2、创建Maven子工程

创建Maven的子工程时,可以选择javase工程,也可以选择web工程,和上面创建普通的Maven工程一样,此处省略。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/news/285063.html

相关文章:

  • Java算法之归并排序(Merge Sort)
  • 【Godot4.3】MarkDown解析和生成类 - MDdoc
  • 仿华为车机功能之--修改Launcher3,实现横向滑动桌面空白处切换壁纸
  • 在Ubuntu 20.04上安装MySQL的方法
  • 神经网络搭建实战与Sequential的使用
  • 南京观海微电子----VCC、 VDD、VSS、VEE 电压符号解释
  • <Rust>egui学习之小部件(八):如何在窗口中添加滑动条slider部件?
  • Vue.js入门系列(十九):深入理解和应用组件自定义事件
  • C++宏展开
  • 2024.08.28 C++初学
  • Notepad++回车不自动补全
  • Python算法工程师面试整理-概率与统计
  • 数学基础 -- 线性代数之矩阵因式分解
  • 计算多图的等价无向图的邻接链表表示
  • MySQL中日期和时间戳的转换:字符到DATE和TIMESTAMP的相互转换
  • OpenHarmony 实战开发——一文总结ACE代码框架
  • 在多云生态下,如何实现跨云的自动化身份管理?
  • 【React】从零开始搭建 react 项目(初始化+路由)
  • Linux虚拟机搭建K8S环境
  • 通过Dot1q终结子接口实现VLAN间互访
  • python基础操作
  • 【C++ Primer Plus习题】7.4
  • 【React】react项目安装tailwindcss
  • Java在项目中实现登录密码加密传输
  • bat 文件, 简化git 操作
  • python测试框架之Pytest
  • 阿里 “通义灵码” 真的 “灵吗”,全保姆级实操
  • LSTM-Autoencoder深度学习模型在电动机异常检测中的应用
  • List<String> 和 ArrayList<String>的区别
  • RK3568笔记五十八:基于SIP的视频通话测试