Maven简介

1 Maven介绍

1.1 官网地址

Maven

1.2 Maven是什么

Maven是一种项目管理、依赖管理、项目构建的工具,可以进行自动化构建、测试、打包和发布项目。

  • 依赖管理
    随着项目引入jar包的增多,我们需要对其进行管理,包括jar包之间的版本依赖管理,这是比较复杂的。
    通过Maven,我们可以轻松的解决jar包之间的依赖关系管理问题,极大地减轻工作量。
    Maven 可以从仓库中自动下载所需依赖库,并对依赖版本进行管理,处理依赖版本冲突等。

  • 构建管理
    开发中,一般通过IDE进行项目的构建,如果脱离的IDE,我们可以通过Maven进行项目的构建操作。
    项目构建是指将源代码、配置文件、资源文件等打包为可执行应用的过程。Maven 可以通过标准的构建生命周期来管理项目的编译、测试、打包、部署等构建过程。

  • 插件
    可以通过Maven插件对构建过程进行扩展和定制

2 Maven安装和配置

2.1 下载

在Maven下载Maven最新的安装包,也可以在history下载历史版本。

2.2 安装

介绍Window版本安装
只需要解压到指定路径即可,新建Maven环境变量MAVEN_HOME,然后配置环境变量Path即可。此时可以在命令行窗口通过mvn -v查看安装的Maven版本信息。

2.3 配置

安装完成之后,需要对Maven进行一些配置,配置文件为Maven安装路径下conf/settings.xml,主要配置以下内容即可:

  • 本地仓库位置
  <!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>--><localRepository>D:/DevRepository/repo</localRepository>
  • 仓库镜像地址
<!--在mirrors标签下配置中央仓库镜像-->
<mirror><id>alirepo</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>
  • JDK编译版本
<profile>   <id>jdk17</id><activation>   <activeByDefault>true</activeByDefault><jdk>17</jdk>   </activation><properties>   <maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><maven.compiler.compilerVersion>17</maven.compiler.compilerVersion><encoding>UTF-8</encoding></properties>   
</profile>
  • server配置
    如果用了私服,还需要在servers标签下配置server相关信息,如
<servers><server><id>nexus-mine</id><username>giser</username><password>123456</password></server>
</servers>

3 IDEA开发环境配置

在"IntelliJ IDEA-File-Settings-Build,Execution,Deployment-Build Tools-Maven"下:

  • 配置Maven home path
C:/DevProgramFiles/Java/apache-maven-3.6.1
  • 配置User settings file
C:\DevProgramFiles\Java\apache-maven-3.6.1\conf\settings-jdk17.xml
  • 检查Local repository
    此时应该为settings.xml文件中已经配置的本地仓库位置,如
D:\DevRepository\repo

4 Maven目录介绍

在这里插入图片描述

bin:Maven运行脚本
boot:含有plexus-classworlds类加载器框架
conf:含有Maven的核心配置文件
lib:含有Maven运行时所需要的Java类库
LICENSE、NOTICE、README.txt:针对Maven版本,第三方软件等简要介绍

5 IDEA中创建Maven工程

Maven提供一种标准化的项目结构,可以帮助开发者更容易地管理项目的依赖、构建、测试和发布等任务。

  • Web工程结构
    • pom.xml:Maven 项目管理文件,用于描述项目的依赖和构建配置等信息。
    • src/main/java:存放项目的 Java 源代码。
    • src/main/resources:存放项目的资源文件,如配置文件、静态资源等。
    • src/main/webapp/WEB-INF:存放 Web 应用的配置文件。
    • src/main/webapp/index.jsp:Web 应用的入口页面。
    • src/test/java:存放项目的测试代码。
    • src/test/resources:存放测试相关的资源文件,如测试配置文件等。
|-- pom.xml                               # Maven项目管理文件 
|-- src|-- main                              # 项目主要代码|   |-- java                          # Java 源代码目录|   |   -- com/example/myapp          # 开发者代码主目录|   |       |-- controller            # 存放 Controller 层代码的目录|   |       |-- service               # 存放 Service 层代码的目录|   |       |-- dao                   # 存放 DAO 层代码的目录|   |       -- model                  # 存放数据模型的目录|   |-- resources                     # 资源目录,存放配置文件、静态资源等|   |   |-- log4j.properties          # 日志配置文件|   |   |-- spring-mybatis.xml        # Spring Mybatis 配置文件|   |   -- static                     # 存放静态资源的目录|   |       |-- css                   # 存放 CSS 文件的目录|   |       |-- js                    # 存放 JavaScript 文件的目录|   |       -- images                 # 存放图片资源的目录|   -- webapp                         # 存放 WEB 相关配置和资源|       |-- WEB-INF                   # 存放 WEB 应用配置文件|       |   |-- web.xml               # Web 应用的部署描述文件|       |   -- classes                # 存放编译后的 class 文件|       -- index.html                 # Web 应用入口页面-- test                               # 项目测试代码|-- java                          # 单元测试目录`-- resources                     # 测试资源目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/294769.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QT八股文】系列之篇章1 | QT的基础知识及事件/机制

【QT八股文】系列之篇章1 | QT的基础知识及事件/机制 前言0. 基础Qt/PyQt5介绍/关联Qt的优缺点&#xff08;为什么要用qt来做界面&#xff09;Qt 的核心机制请简要介绍一下Qt中的主窗口&#xff08;MainWindow&#xff09;类&#xff0c;它有哪些重要的函数和成员变量&#xff…

qt项目-《图像标注软件》源码阅读笔记-类图

目录 1. 开源项目链接 2. 项目界面 3. 项目类图 3.1 形状的绘制及形状的存储 3.2 主窗口中心组件的界面管理 3.3 Command负责实现撤销和重做功能 3.4 其他类 3.5 枚举 3.5.1 Status 主窗口的状态变量 3.5.2 Mode 主窗口模式状态变量 3.5.3 shapeStatus 中心组件状态…

基于JAVA的大病保险管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统配置维护2.2 系统参保管理2.3 大病保险管理2.4 大病登记管理2.5 保险审核管理 三、系统详细设计3.1 系统整体配置功能设计3.2 大病人员模块设计3.3 大病保险模块设计3.4 大病登记模块设计3.5 保险审核模块设计 四、…

go语言初体验1--使用go install

当安装后go语言后。 尝试编写go程序。 当使用 go install 命令&#xff0c;报错。 go: go install requires a version when current directory is not in a moduleTry go install jvmgo\ch01latest to install the latest version通过查找资料。 用命令&#xff1a; go env …

用23种设计模式打造一个cocos creator的游戏框架----(二十二)原型模式

1、模式标准 模式名称&#xff1a;原型模式 模式分类&#xff1a;创建型 模式意图&#xff1a;用原型实例指定创建对象的种类&#xff0c;并且通过复制这些原型创建新的对象 结构图&#xff1a; 适用于&#xff1a; 1、当一个系统应该独立于它的产品创建、构成和表示时 2、…

什么是动态代理?

目录 一、为什么需要代理&#xff1f; 二、代理长什么样&#xff1f; 三、Java通过什么来保证代理的样子&#xff1f; 四、动态代理实现案例 五、动态代理在SpringBoot中的应用 导入依赖 数据库表设计 OperateLogEntity实体类 OperateLog枚举 RecordLog注解 上下文相…

基于Springboot的酒店管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的酒店管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

C#上位机与欧姆龙PLC的通信05---- HostLink协议

1、介绍 Hostlink协议是欧姆龙PLC与上位机链接的公开协议。上位机通过发送Hostlink命令&#xff0c;可以对PLC进行I/O读写、可以对PLC进行I/O读写、改变操作模式、强制置位/复位等操作。由于是公开协议&#xff0c;即便是非欧姆龙的上位设备&#xff08;软件&#xff09;&…

速通Python基础语法--函数篇

目录 一 函数的定义和调用 二 函数的实参和形参 ​编辑 三 函数的返回值 耦合 一个函数中可以有多个return 一次return可以返回多个值 四 全局变量和局部变量 读取 写入 global关键字 其它语句产生的代码块 五 PyCharm调试器观察函数执行 六 函数的链式调用和嵌套…

【prompt一】Domain Adaptation via Prompt Learning

1.Motivation 当前的UDA方法通过对齐源和目标特征空间来学习域不变特征。这种对齐是由诸如统计差异最小化或对抗性训练等约束施加的。然而&#xff0c;这些约束可能导致语义特征结构的扭曲和类可辨别性的丧失。在本文中&#xff0c;引入了一种新的UDA提示学习范式&#xff0c;…

【C语言】指针详解(三)

1.指针运算 指针的基本运算有三种&#xff0c;分别是:⭐指针-整数 ⭐指针-指针 ⭐指针的关系运算 1.1指针 - 整数 因为数组在内存中是连续存放的&#xff0c;只要知道第一个元素的地址&#xff0c;顺藤摸瓜就能找到后面的所有元素。 int arr[10]{1,2,3,4,5,6,7,8,9,10} #inc…