如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】

news2024/12/23 4:46:40

编译软件:IntelliJ IDEA 2019.2.4 x64
操作系统:win10 x64 位 家庭版
Maven版本:apache-maven-3.6.3


目录

  • 一. 为什么要使用Maven?
    • 1.1 获取jar包
    • 1.2 添加jar包
    • 1.3 使用Maven便于解决jar包冲突及依赖问题
  • 二. 什么是Maven?
  • 三. 如何使用Maven?
    • 3.1 Maven准备
      • 3.1.1 下载安装Maven
      • 3.1.2 解压下载的Maven zip包并配置MAVEN_HOME环境变量
      • 3.1.3 测试Maven环境
    • 3.2 Maven基本配置
      • 3.2.1 设置本地仓库
      • 3.2.2 设置阿里云镜像服务器
      • 3.2.3 设置使用DK版本【1.8 | JDK8】
    • 3.3 Maven之Helloworld
  • 四. 如何将Maven整合进IDEA里并创建Maven工程?
    • 4.1 在IDEA里整合Maven
    • 4.2 在IDEA里创建Maven工程
    • 4.3 新建Maven模块
    • 4.4 为指定Maven模块创建web工程


一. 为什么要使用Maven?

1.1 获取jar包

  • 使用Maven之前自行在网络中下载iar包,效率较低。如在谷歌、百度中搜素相关 jar包资源
  • 使用Maven之后统一在一个地址下载jar包等资源。如使用阿里云镜像服务器下载等.…

1.2 添加jar包

  • 使用Maven之前:将jar复制到项目工程中,jar包添加到项目中,相对浪费存储空间
  • 使用Maven之后:jar包统一存储Maven本地仓库,使用 坐标 方式将jar包从仓库引入到项目中

如下图所示:

在这里插入图片描述

1.3 使用Maven便于解决jar包冲突及依赖问题


二. 什么是Maven?

Maven,在英文中释义为”专家、内行“之意,但在Java开发中。 Maven是一款自动化构建工具,专注服务于java平台的项目构建依赖管理

  • 依赖管理jar包之间的依赖关系,jar包的管理问题统称为依赖管理
  • 项目构建项目构建不等同于项目创建

项目构建与项目创建的区别:

  1. 项目构建是一个过程【要历经 1.清理,2.编译,​3.测试,4.报告,5.打包,6.安装,7.部署等七个步骤完成】
  2. 项目创建是瞬间完成的

三. 如何使用Maven?

3.1 Maven准备

注意:

IDEA2019.1.x最高支持Maven的3.6.0, 而现在实际开发的过程中多数运用是Maven3.6.3,因为该版本的Maven比较稳定

3.1.1 下载安装Maven

步骤:

①根据下载地址:http://maven.apache.org 打开官网,点击”Download“去下载相应的Maven zip包(我这里要下载的是Maven 3.6.3)

在这里插入图片描述

②在”Download“右边的区域中,我们发现没有Maven 3.6.3相应的下载连接,莫急,往下滑,找到下面的连接并点开它

在这里插入图片描述

③在 ”index of/maven“ 下找到 ”maven-3/ " 并访问它

在这里插入图片描述

④ “Index of /maven/maven-3” --> “3.6.3/” --> “binaries/”

在这里插入图片描述

在这里插入图片描述

⑤在“Index of /maven/maven-3/3.6.3/binaries"下 点击下载”apache-maven-3.6.3-bin .zip“

在这里插入图片描述

3.1.2 解压下载的Maven zip包并配置MAVEN_HOME环境变量

前提:

Maven底层使用ava语言编写的,所以必须先配置 JAVA_HOME环境变量

ps:如果尚不会配置JAVA_HOME环境变量,相关步骤可参考这篇博客 《如何在本地(个人电脑上)安装Tomcat服务器并部署web项目?【2023最新版】》 中3.3 小结的内容

步骤:

①将下载的Maven zip包解压到非中文无空格目录下(避免出现中文乱码问题)

在这里插入图片描述

②配置MAVEN_HOME环境变量

在这里插入图片描述

在这里插入图片描述

③在Path里“新建”–> “%MAVEN_HOME%\bin”–>“确定”

在这里插入图片描述

④在Path里配好之后一路点击“确定”即可

在这里插入图片描述

3.1.3 测试Maven环境

步骤:

输入【cmd】,进入命令行窗口,输入mvn -v,检查Maven环境是否搭建成功

在这里插入图片描述

ps:出现上述界面,表示Maven环境已搭建成功

3.2 Maven基本配置

Maven配置文件的位置:

maven根目录/conf/settings.xml

3.2.1 设置本地仓库

Maven默认的本地仓库位置c: 用户家目录/.m2/repository

在这里插入图片描述

步骤:

①新建一个非中文无空格目录,将其作为自己的maven本地仓库

ps:推荐在你的maven解压路径下新建一个目录作为自己的maven本地仓库,便于查找

在这里插入图片描述

②在maven的配置文件中设置本地仓库

在这里插入图片描述

代码示例如下:

<!-- 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:\ins\apache-maven-3.6.3\localReposity</localRepository>

3.2.2 设置阿里云镜像服务器

步骤:

在配置文件中将以下的代码复制粘贴至下图中的位置

代码示例如下:

 <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror>

在这里插入图片描述

ps:复制的代码要放到 <mirrors></mirrors> 的里面,注释的外边

3.2.3 设置使用DK版本【1.8 | JDK8】

在配置文件中将以下的代码复制粘贴至下图中的位置

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

在这里插入图片描述

注意:

最后记得保存该配置文件(按快捷键ctrl + s)

ps:复制的代码要放到<profiles></profiles>的里面,注释的外边

3.3 Maven之Helloworld

注意:

约束>配置>代码

这里的约束是什么意思?

这里的约束是指行业内普遍承认达成的共识与行为准则,即不成文的规定,就像Java Bean类中的成员属性名称的命名习惯是小驼峰形式(String createTime

  • Maven工程目录结构约束
    • 项目名
      • src【书写源代码】
        • main【书写主程序代码】
          • java【书写java源代码】
          • resources【书写配置文件代码】
        • test【书写测试代码】
          • java【书写测试代码】
      • pom.xml【书写Maven配置】
  • 测试步骤
    • 进入项目名根目录【在根目标输入cmd即可】
    • mvn clean
    • mvn compile
    • mvn test-compile
    • mvn test
    • mvn package
    • mvn install

四. 如何将Maven整合进IDEA里并创建Maven工程?

4.1 在IDEA里整合Maven

步骤:

①点击”File“–> “Settings”

在这里插入图片描述

②点击”Build,Execution,Deployment“ --> “Build Tools” —> 配置自己本地Maven的家目录路径,配置文件路径以及Maven本地仓库路径等信息 --> ”OK"

在这里插入图片描述

③勾选“Import Maven projects automatically”并点击“OK"

在这里插入图片描述

4.2 在IDEA里创建Maven工程

步骤:

①点击 ”File“ --> “New” --> “Project” --> “Maven” --> “Finish”

在这里插入图片描述

在这里插入图片描述

②设置相应信息 --> “Finish”

在这里插入图片描述

ps:

SNAPSHOT快照

③ 为刚建立的Maven工程maven_demo设置”Project Location",然后点击“Finish"

在这里插入图片描述

4.3 新建Maven模块

步骤:

①点击”File“ --> “New” --> “Module” --> “Maven” --> “Next”

在这里插入图片描述

在这里插入图片描述

②设置新建模块的相应参数,点击"Next" --> 确认模块名称,根目录与模块文件存储位置 --> “Finish”

在这里插入图片描述

在这里插入图片描述

4.4 为指定Maven模块创建web工程

步骤:

①在指定的Maven模块目录下设置web工程所需要的目录结构

在这里插入图片描述

②在web.xml中为该web工程设置相应的基本信息

代码示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

</web-app>

ps:直接复制粘贴到你自己的web.xml中即可

③找到如下图标,点开它

在这里插入图片描述

④依次点击"Modules" --> “指定相应模块” --> “+” --> “web”

ps:我这里是要为模块maven_web_module创建web工程

在这里插入图片描述

⑤重新设置部署描述符【web.xml】的路径

在这里插入图片描述

⑥重新设置上下文路径【即webapp所在的路径】

在这里插入图片描述

⑦在webapp目录下新建一个index.html,留作测试

代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>首页</h1>
</body>
</html>

在这里插入图片描述

⑧ “Artifacts” --> “+” --> “Web application : Exploded” --> " from
Modules…" --> 选择指定模块 --> “ok”, 目的是为指定模块添加war包

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

⑨为刚才的web工程添加服务器

前提:你必须要先将Tomcat服务器集成到IDEA中,如有不懂,可参考博客《如何将Tomcat集成到IDEA中并启动项目?》 中2.1节的步骤。
在这里插入图片描述

⑩在服务器上部署该web工程的war包

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

⑪ 启动服务器,开始测试

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch查询文档--常见API篇(附详细代码和案例图文)

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章将介绍Elasticsearch在Java中的几种API的使用&#xff0c;这块内容不作为面试中的重点。 如果文章有什么需要改进的地方还请大佬不吝赐教&#x1f44f;&#x1f4…

Linux Ansible任务控制(循环判断、处理程序、失败任务)

目录 Ansible的Loop循环 简单的Loop循环 数组列表方式的Loop循环 字典方式的Loop循环 基于外部变量的Loop循环 Ansible的When判断 通过魔法变量、事实变量作为条件 通过剧本执行结果的变量来作为条件 Ansible处理程序 Ansible处理失败任务 处理失败任务ignore_error…

语义分割学习笔记(二)转置卷积

目录 1.转置卷积Transposed Convolution概念 2.转置卷积操作步骤 3.转置卷积参数 4.实战案例 推荐课程&#xff1a;转置卷积&#xff08;transposed convolution&#xff09;_哔哩哔哩_bilibili 感谢霹雳吧啦Wz&#xff0c;真乃神人也。 1.转置卷积Transposed Convolutio…

分类预测 | MATLAB实现WOA-CNN鲸鱼算法优化卷积神经网络数据分类预测

分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现WOA-CNN多特征分类预测&#xff0c;多特…

SimpleCG库安装使用

SimpleCG库是一个简单的Windows图形库&#xff0c;对GDI及窗口和消息机制进行了简单封装&#xff0c;从而达到类似Turbo C图形库的调用方法&#xff0c;目的是为了初学C语言的同学能快速上手图形界面编程。使用对象包括所有初学C语言的同学&#xff0c;尤其是中学生&#xff0c…

PAT B1049

PAT B1049 题目 给定一个正数数列&#xff0c;我们可以从中截取任意的连续的几个数&#xff0c;称为片段。例如&#xff0c;给定数列 { 0.1, 0.2, 0.3, 0.4 }&#xff0c;我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0…

【】lambda表达式

文章目录 lambda表达式lambda概念lambda表达式的格式关于捕获列表常见问题: 使用lambda表达式交换两个数lambda表达式底层原理 lambda表达式 lambda概念 lambda表达式本质是一个匿名函数(因为它没有名字),恰当使用lambda表达式可以让代码变得简洁.并且可以提高代码的可读性 例…

字节后端入门 - Go 语言原理与实践

1.1什么是Go语言 1.2Go语言入门 环境 1.3基础语法 1.3.1变量 var name"value" 自己推断变量类型&#xff1b; 也可以显式类型 var c int 1 name: type(value) 常量&#xff1a; const name "value" g : a"foo" 字符串拼接 1.3.2 if else {}花括号…

Java——多线程和锁

多线程 前言:当我们打开一个网站时&#xff0c;不同部分的加载并不是先后出现的&#xff0c;是并行出现的&#xff0c;没有出现一个地方没加载完&#xff0c;别的地方就也加载不出来这种事。这个就是多线程并行运行。 当其中一个线程发生阻塞时&#xff0c;操作系统会自动执行…

系统集成项目管理工程师 笔记(第12章:项目沟通管理和干系人管理)

文章目录 12.1.2 沟通的方式 404沟通管理计划的编制过程12.2.2 制订沟通管理计划的工具 4114、沟通方法 12.3.2 管理沟通的工具 41312.4.2 控制沟通的技术和方法 4163、会议 12.5.1 项目干系人管理所涉及的过程 420项目干系人管理的具体内容&#xff1a;&#xff08;1&#xff…

C/C++文件操作/IO流

学习任务&#xff1a; ⭐认识文件。⭐学习C语言中文件如何打开和关闭。⭐学习C语言中文件的读写方法&#xff08;包括顺序读写和随机读写&#xff09;。⭐学习C语言文件操作中如何判断文件读取结束。⭐简单了解FILE缓冲区。⭐认识流。⭐学习C的IO流&#xff0c;包括标准IO流和文…

【CMake】给一个库添加用法需求(Usage Requirements)

3. 给一个库添加用法需求&#xff08;Usage Requirements&#xff09; 1. usage requirements 目标参数的用法要求&#xff08;不知道有没有更好的翻译方式&#xff09;可以更好地控制库或可执行的链接&#xff0c;并包括行&#xff0c;同时还可以更好地控制CMAKE内部目标的传…

【哈士奇赠书活动 - 17期】-〖uni-app跨平台开发与应用从入门到实践〗

文章目录 ❤️‍&#x1f525; 赠书活动 - 《uni-app跨平台开发与应用从入门到实践》❤️‍&#x1f525; 编辑推荐❤️‍&#x1f525; 抽奖方式与截止时间❤️‍&#x1f525; 赠书活动 → 获奖名单 ❤️‍&#x1f525; 赠书活动 - 《uni-app跨平台开发与应用从入门到实践》…

日志技术-Logback

一. 日志是什么&#xff1a; 输出语句的弊端&#xff1a;它只能在控制台展示&#xff0c;它不能记录在本地文件当中。 日志可以将程序运行过程中的信息直接记录在文件里面&#xff0c;做永久存储。 性能较好&#xff0c;简单来说就是运行的速度会比较快。 二. 日志技术体系、L…

3_docker应用部署:MySQL-Tomcat-Nginx-Redis

Docker 应用部署 一、部署MySQL 案例需求&#xff1a;在Docker容器中部署MySQL&#xff0c;并通过外部mysql客户端操作MySQL Server。 分析&#xff1a; 容器内的网络服务和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服…

iOS 17 开放侧载,微信双开要来了?

关于苹果北京时间 6 月 6 日召开的 WWDC23 全球开发者大会&#xff0c;外媒彭博记者 Mark Gurman 带来了最新消息。 大致更新概览 他认为&#xff0c;本次 WWDC23 大会将会主要推出这几款产品和软件&#xff1a;iOS 17、iPadOS 17、macOS 14、watchOS 10、新的 MacBooks 、混…

文件上传下载系列——如何实现文件秒传

文章目录 &#x1f383;简介&#xff1a; &#x1f47b;核心思想&#xff1a; MD5是什么&#xff1f; 实现步骤&#xff1a; &#x1f384;实操&#xff1a; 1、java生成文件MD5码 2、javascript生成文件MD5码 ⛳️基于秒传的分片上传下载 上传&#xff1a; 下载&…

Afkayas.1(★)

软件运行 要输入正确的Name和Serial 查壳 一个VB程序&#xff0c;没有加壳 载入OD 直接开搜索字符串。 这里看到了错误的提示&#xff0c;“You Get It”应该就是成功的字符串了。 前面的“AKA-”应该是在什么时候拼接的字符串 去成功的字符串附近看看 这个字符串上面…

LVS负载均衡群集——DR模式

一、LVS-DR集群介绍 LVS-DR&#xff08;Linux Virtual Server Director Server&#xff09;工作模式&#xff0c;是生产环境中最常用的一 种工作模式。 1、LVS-DR 工作原理 LVS-DR 模式&#xff0c;Director Server 作为群集的访问入口&#xff0c;不作为网关使用&#xff0…

第九章 子查询

文章目录 前言一、.需求分析与问题解决1 、实际问题2 、子查询的基本使用3 、子查询的分类 二、单行子查询1、单行比较操作符2、代码示例3、 HAVING 中的子查询4、CASE中的子查询5、 子查询中的空值问题6、非法使用子查询 三、多行子查询1、 多行比较操作符2、代码示例3 、空值…