JavaWeb——IDEA相关配置(Maven配置以及创建自己的第一个Maven项目)

news/2024/11/20 6:27:04/

写在前面:
笔者根据狂神说的javaweb视频,一步一步跟着配置IDEA中的Maven,在后面,笔者将讲述自己如何从0配置Maven以及创建自己的第一个Maven项目,笔者将自己的心路历程,包括配置的过程,都以文字加图片的形式体现出来,即使小白也能跟着一步一步做!
最最重要的是,**笔者将自己走过的坑包括如何解决这些坑的方式都写下来了!**有些地方笔者只写出了解决方法,并没有写出原理,如果有大佬了解,请在评论区为笔者解惑,万分感谢!

5、Maven

在JavaWeb开发中,需要使用大量jar包,我们需要手动导入;

Maven能够自动帮我们导入和配置jar包

5.1、Maven项目架构管理工具

我们目前用它来就是方便导入jar包的

Maven的核心思想约定大于配置

Maven会规定好你该如何去编写Java代码,必须按照这个规范来

5.2、下载安装Maven

maven的下载与安装教程(超详细)_格子衫111的博客-CSDN博客

该博客有百度网盘链接下载

解压完成后:

5.3、配置环境变量

在我们的系统环境变量中

配置如下配置:

  • M2_HOME maven目录下的bin目录
  • MAVEN_HOME maven的目录
  • 在path中配置MAVEN_HOME

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

配置完成后,可以用在命令行窗口输入

mvn -version

查看是否配置完成

在这里插入图片描述

5.4、修改配置文件——阿里云镜像

  • 镜像:加速我们的下载,使用阿里云
  1. 打开配置文件:Maven目录下→conf目录下→settings.xml文件

  2. 在标签下添加镜像:

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

    如图所示:

在这里插入图片描述

为何要配置镜像? ✅享受加速下载

5.5、本地仓库

建立一个本地仓库

如果不配置自己的本地仓库,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>-->

说明,默认本地仓库地址为:C盘→用户目录(笔者的叫users)→home→.m2(该文件是一个隐藏文件,如果没看到该文件,打开显示隐藏文件)→repository

接下来建立一个属于我们自己的本地仓库

  1. 在maven目录下创建一个新的文件夹(可以自定义名字)maven-repo,复制该文件夹路径

在这里插入图片描述

  1. 打开配置文件settings.xml,加入:

    <localRepository>D:\Environment\apache-maven-3.6.3\maven-repo</localRepository>
    <!--localRepository表示本地仓库,D:\Environment\apache-maven-3.6.3\maven-repo表示文件夹地址-->
    

5.6、在IDEA中使用Maven

  1. 因为我们在创建maven项目时,会下载许多文件,如果没有完成上面修改配置文件——配置阿里云镜像,则在下载文件时idea会走阿帕奇官网,则速度会慢许多,因此我们在IDEA中使用Maven时,要保证已经完成了上述配置文件的配置。
  2. 打开IDEA初始页面,点击Customize→All settings… 如图所示:

在这里插入图片描述

在IDEA中,如果之前有打开项目的话,IDEA默认会打开之前项目的项目环境,而不会打开初始页面,因此需要修改:

打开settings →点击Appearance & Behavior →点击System Settings →取消Reopen projects on startup

如图所示:

在这里插入图片描述

重启IDEA,即可进入初始页面

  1. 打开All settings后 →点击Bulid, Execution, Deployment →点击Build Tools →点击Maven , 如图所示:

在这里插入图片描述

完成框内的修改即可

更新更新更新!!!!!注意看这里!!!否则pom.xml会找不到依赖!!!这个坑也是笔者亲身经历!!!!

不要取消勾选Use settings from .mvn/maven.config。当初在配置maven环境的时候搞得头秃,因此不管三七二十一都模仿网上教程,别人取消勾选笔者也取消勾选

maven是帮助程序员在搭建web应用时快速安装环境,库,框架等依赖的工具,这个勾选选项的意思时,使用你自己的maven中的配置(configuration,简写conf),来设置该项目的设置(settings,名词,设置),勾选它,则可以在你自己的maven中找到依赖(dependency),否则,pom.xml中就找不到依赖,会报错

在这里插入图片描述

  1. 创建一个新的Maven项目,点击New Project→Maven Archetype

在这里插入图片描述

模板可以不选择,如果想要不选择模板,则如图所示:

在这里插入图片描述

完成以上步骤后,即可创建新的maven项目,第一次创建maven项目时,IDEA会自动下载一些必要的文件,需要等待项目下载完成,因此,如果不配置镜像网站的话,从外网下载会十分缓慢,所以大家一定要按照步骤,一步步配置。

ps:下面说一下笔者踩过的坑!

一开始笔者根据网上的教程(狂神说的IDEA与新版IDEA的UI界面不同,因此修改IDEA的Maven路径我是找其他教程的)配置自己的Maven路径,笔者并没有进入初始化页面配置,只是单纯地从某一个项目的页面,进入settings开始配置。

在这里插入图片描述

原以为配置完成了,等笔者开始创建Maven项目时,发现Maven依旧从官网下载文件,速度特别慢。

笔者重新进入settings查看,发现原本修改完的maven路径又变回默认的了,心态炸裂QAQ。

后来笔者思索了一下,应该是:在项目中的settings是修改本项目的设置,当创建新的项目时,又回到了初始的设置,在初始页面的All settings修改Maven路径,就相当于修改了初始设置,即创建新项目时,新项目的初始设置就是我们自己的Maven路径,这样我们的镜像源和本地仓库才能使用。

当然,如果不想每次都进入初始页面的话,可以进入settings将 Reopen projects on startup 重新勾选

  1. 当项目构建完成后,可以进入本地仓库目录查看,会发现原本空的本地仓库多了许多文件

  2. IDEA中的Maven设置

    如果你的项目模板时webapp,你会发现,项目中没有java文件夹也没有test文件夹,因此,我们需要创建java文件夹,用于存放java文件,test文件夹可创建也可以不创建

    在创建java文件夹后,你会发现,java文件夹是灰色的,且无法new一个java文件出来,这是因为,我们并没有标记文件夹的功能。

    右键文件夹→Mark Directory as 可以标记文件夹的功能

    如果右键后并没有Mark Directory as,则可以进入File→Project Structure →Project Settings →Modules →+→Improt Module→选择你的项目→Import module from external model → Maven →Create

    是不是很复杂,请看图

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

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    完成了!

5.7、在IDEA中配置Tomcat

笔者在此处也是踩了很多的坑 ,笔者使用的IDEA是社区版,因此许多功能和设置与专业版的不同,在网上找到的资料也是要仔细甄别,因此,在这里说明,笔者使用的IDEA 2023.3 community版本,如果版本与笔者相同,遇到的问题应该也是相似的,可以参考本文。

注意:笔者在配置时退出了IDEA的新版UI,回到老版UI,布局上会有所不同,如果读者的UI界面是新版,请退出,然后再跟着笔者操作

1.点击IDEA右边的小框框→edit configurations

在这里插入图片描述

  1. 点击➕,选择Tomcat,重点来了,请注意,也许会遇到不一样的情况

在这里插入图片描述

  • 如果找到Tomcat service,恭喜你,直接添加即可

  • 如果没有找到Tomcat有关的选项,请按照下列步骤执行

    • File→Settings→Plugins→Marketplace(插件商城)→在搜索框内搜索Tomcat

    在这里插入图片描述

    • 安装Smart Tomcat (细心的小伙伴已经看到了一个灰色的install,这个插件是Tomcat and TomEE,一些教程会叫你安装他,但是现在他是高贵的专业版用户才能下载的插件,我等平民百姓安装不了
    • 安装完成后,重启IDEA →File→Settings。你会发现多了Tomcat Server
    • Tomcat Server→➕→选择你下载的Tomcat文件夹→OK

    在这里插入图片描述

  • 回到第一步

在这里插入图片描述

  • 创建一个Tomcat的configuration

在这里插入图片描述

  • 最终设置变成这样

在这里插入图片描述

即完成Tomcat配置

之前在配置Maven时,我们用webapp模板创建了一个maven项目,现在我们来运行一下里面的index.jsp文件(在main目录下webapp文件夹中)

在这里插入图片描述

得到一个localhost+8080端口+项目名的域名,点击即可进入

当然,在jsp中只写了一个Hello world!

在这里插入图片描述

5.8、Tomcat、Maven、普通java程序的区别

唯有理解好Tomcat,Maven,以及普通的java程序,摸清楚它们的概念和区别,我们在配置中遇到的问题,才能找到针对性地解决办法,即使自己找不到解决办法,上百度也有一个很好的搜索方向,不然就一头雾水,出了问题也不知道怎么描述

问:IDEA中,Tomcat有什么作用

2023/10/18 14:16:09

在IDEA中,Tomcat是一个非常常用的Java Web服务器,用于开发和测试基于Java的Web应用程序。它提供了一个运行环境,可以将Java Servlet、JavaServer Pages(JSP)和其他相关技术部署为Web应用程序

Tomcat具有以下用途:

  1. Web应用程序开发和测试:Tomcat提供了一个本地服务器环境,可以在开发过程中快速部署和测试Web应用程序。它支持热部署,可以自动重新加载修改后的代码,方便开发人员进行迭代开发和调试。
  2. Servlet和JSP容器:Tomcat作为一个Servlet容器,可以处理和管理Java Servlet和JSP页面的请求和响应。它负责解析和执行Servlet和JSP,并将结果返回给客户端。
  3. 静态资源托管:Tomcat还可以用作静态资源(如HTML、CSS、JavaScript文件)的托管服务器。通过将这些文件放置在Tomcat的特定目录中,可以通过浏览器直接访问这些文件。
  4. 与数据库的交互:Tomcat可以与数据库服务器进行交互,通过Java数据库连接(JDBC)等技术访问和操作数据库。这使得开发人员可以在Web应用程序中实现数据持久化和数据库操作。

总而言之,Tomcat在IDEA中的作用是提供一个运行环境,用于开发、测试和运行基于Java的Web应用程序。它简化了Web开发过程,并提供了一种方便的方式来部署和调试应用程序。

问:Web应用程序与普通Java程序有什么区别

Web应用程序与普通的Java程序之间存在一些区别,主要体现在以下几个方面:

  1. 运行环境:Web应用程序是依托于Web服务器运行的,而普通的Java程序可以在命令行或者独立的Java虚拟机上运行。Web应用程序需要搭建和配置Web服务器(如Tomcat),然后将应用部署到服务器上才能运行。
  2. 用户交互:Web应用程序是通过客户端(通常是Web浏览器)与用户进行交互的,用户通过浏览器发起请求,服务器返回响应结果。而普通的Java程序通常是在命令行界面或者图形界面中与用户进行交互。
  3. 请求-响应模式:Web应用程序遵循请求-响应模式,客户端发送HTTP请求到服务器,服务器处理请求并返回相应的结果。普通的Java程序通常是按照事先编写好的逻辑进行执行,没有明确的请求和响应的过程。
  4. 多线程处理:由于Web应用程序需要处理多个并发请求,通常会使用多线程来同时处理多个请求。而普通的Java程序可能不需要考虑并发处理的问题。
  5. 数据持久化:Web应用程序通常需要与数据库进行交互,实现数据的持久化和访问。而普通的Java程序可以直接在内存中进行数据操作,不需要与数据库进行交互。

总之,Web应用程序与普通的Java程序在运行环境、用户交互方式、请求-响应模式等方面存在一些区别。开发Web应用程序需要了解Web开发的相关知识和技术,以及使用Web服务器来运行和部署应用程序。

问:IDEA中,配置Maven有什么作用

Maven是一个基于Java的项目管理和构建工具,可以帮助开发人员更方便地管理和构建Java项目。在IDEA中,Maven是内置的(但一般我们会下载Apache的Maven进行配置使用),并且已经预先配置好了一些常用插件和默认设置,可以在IDEA中方便地使用。

Maven可以帮助开发人员进行以下操作:

  1. 项目依赖管理:Maven可以帮助开发人员自动下载并管理项目所依赖的库文件、框架、插件等。通过在项目配置文件pom.xml中声明依赖项,Maven可以自动下载并引入这些依赖项。
  2. 构建和打包:Maven可以执行常用的构建任务,如编译、测试、打包等。开发人员可以通过在pom.xml文件中配置相应的插件和目标来定义项目构建过程。
  3. 版本控制:Maven可以简化版本控制,通过管理pom.xml文件来追踪项目版本、依赖项版本等信息。开发人员可以方便地升级或降级依赖库的版本。
  4. 发布和部署:Maven可以集成各种插件,支持将项目构建结果发布到各种环境中,如本地仓库、私有仓库、远程仓库等。同时,Maven也支持将项目部署到Web服务器上。

总之,Maven是一个强大的项目管理和构建工具,可以帮助开发人员更方便、快捷地管理Java项目。在IDEA中,通过Maven插件的支持,可以在开发过程中方便地使用Maven来进行项目管理和构建。

笔者的理解是:Web应用程序与普通的Java程序最大的区别在于web应用一定需要服务器,Tomcat就是提供服务器的,Maven是一个便捷工具,可以在开发web应用程序时从网络上下载调用各种各样的依赖项。

5.9、pom.xml文件

pom.xml文件时Maven的核心配置文件

我们来熟悉一下Maven文件里有些什么

在这里插入图片描述

接下来我们就要学习servlet,请关注本专栏!笔者将持续更新!


http://www.ppmy.cn/news/1168753.html

相关文章

win11恢复win10形式的右键显示

win11恢复win10形式的右键显示 win11恢复win10形式的右键显示一、问题二、解决方法三、恢复方法四、参考 win11恢复win10形式的右键显示 一、问题 win11系统用7z解压文件的时候&#xff0c;右键压缩包文件&#xff0c;还需要点击“显示更多选项”才能看见7z的选项&#xff0c…

Spring Cloud 之 GateWay简介及简单DEMO的搭建

&#xff08;1&#xff09;Filter&#xff08;过滤器&#xff09;&#xff1a; 和Zuul的过滤器在概念上类似&#xff0c;可以使用它拦截和修改请求&#xff0c;并且对上游的响应&#xff0c;进行二次处理。过滤器为org.springframework.cloud.gateway.filter.GatewayFilter类的…

软件工程与计算总结(二十三)软件工程职业基础

本系列最后一更&#xff0c;《软计》系列总结的大结局&#xff01;本栏目告一段落&#xff0c;之后会结合真题和练习题再发布新的总结~ 往期链接&#xff1a; 《软件工程与计算》总结 一.软件工程职业 1.行业的发展 20世纪50年代&#xff1a;计算机还是研究型机器&#xff…

工厂模式(初学)

工厂模式 1、简单工厂模式 是一种创建型设计模式&#xff0c;旨在通过一个工厂类&#xff08;简单工厂&#xff09;来封装对象的实例化过程 运算类 public class Operation { //这个是父类private double num1; //运算器中的两个值private double num2;public double getNu…

SpringBoot全局异常配置

1、实现方式定义一个全局异常配置类&#xff0c;使用RestControllerAdvice注解 在使用方法上用 ExceptionHandler(value BizException.class)配合使用&#xff0c;使其异常提示作用 2、需要定义一个统一结果返回类&#xff0c;如下代码 Data Slf4j ToString public class Co…

H5随机短视频滑动版带打赏源码,可封装APP软件或嵌入式观看

H5随机短视频滑动版带打赏源码&#xff0c;可封装APP软件或嵌入式观看&#xff0c;网站引流必备源码&#xff01; 数据来源抖音和快手官方短视频链接&#xff0c;无任何违规内容&#xff01;可自行添加广告等等&#xff01; 手机端完美支持滑动屏幕观看&#xff08;向上或向右…

基于nodejs+vue语言的酒店管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

初始 c++(1)

目录: 目录 1: 命名空间的详解 2:c的输入与输出关键字及理解 3:详细讲解第一个c程序(每段代码的意思) 4:缺省参数的理解 5:函数重载 引言&#xff1a;从今天开始我们就开始学习c了&#xff0c;让我们一起开始新的知识吧&#xff01; 1&#xff1a;命名空间 所谓的命名空间…