在 IDEA 中使用 Maven
虽然IDEA中自带maven,但是建议使用自己下载的,因为自带的maven会随着IDEA的升级而升级,可能会出现各种意料之外的问题,所以我们在这里要修改一下Maven的配置。
依次点击 IDEA 菜单栏【文件/Flile】->【设置/Settings】
找到【构建、执行、部署/Build,Executiion,Deployment】->【构建工具/Build Tools】->【Maven】配置项,配置如下三点:
Maven主路径/Maven home path
: 设置 Maven 安装目录;用户配置文件/User settings file
: 选择 Maven 的配置文件;本地仓库/Local repository
: 设置 Maven 本地仓库路径,用于统一存放项目依赖的 Jar 包;
都配置好后,点击【应用/Apply】按钮使设置生效。
二、
(一)Java项目
创建成功后,我们可以看到pom.xml文件
(二)Web项目
在Java项目的基础上修改为Web项目。
1、添加框架支持
项目上右键 -> 【添加框架支持】
选中【Java EE】下的【Web 应用程序(4.0)】
2、发布测试
选择IDEA上方的【当前文件】下拉菜单 -> 【编辑配置】
选择【部署】选项卡 -> +号 -> 【工件】
添加好工件后,向下找到【应用程序上下文】
运行Tomcat,浏览器打开http://localhost:8080/MavenTest/index.jsp,可以正确显示。
3、添加Servlet库
使用添加Maven依赖的方式,添加servlet-api.jar包。
打开https://mvnrepository.com/官网,搜索servlet
复制到pom.xml的<dependencies>标签中,然后保存文件。
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency>
4、创建编写Servlet
创建com.sdbi.servlet包,在其中创建UserServlet类
修改代码:
package com.sdbi.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/UserServlet") public class UserServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("UserServlet.doGet"); resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().println("UserServlet.doGet"); } }
5、依赖范围
在pom.xml中添加依赖,有个<scope>标签,表示依赖的适用范围。
-
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
-
runtime 只在运行时使用(运行、测试运行)
-
provided 在(编译、测试、运行)时引入
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了