在 IDEA 中使用 Maven

一、在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】按钮使设置生效。

二、使用IDEA创建Maven项目

(一)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>标签,表示依赖的适用范围。

  • test 只在项目测试阶段引入当前依赖(编译、测试)

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
    </dependency>
  • runtime 只在运行时使用(运行、测试运行)

  • provided 在(编译、测试、运行)时引入

  • compile 在(编译、测试、运行、打包)都引入

 

posted @ 2021-06-18 10:42  熊猫Panda先生  阅读(628)  评论(0编辑  收藏  举报