前言

在IDEA中创建Maven项目,前提是已经安装配置好Maven环境 。
如还未配置安装Maven的,请先下载安装。如何下载安装,可参考我另外篇文章:
maven的下载与安装教程
本篇教程是以创建基于servlet的JavaWeb项目为例子,如是Spring系列框架,pom.xml文件相关依赖需要调整。

1. IDEA中配置Maven

  1. 打开IDEA 创建一个新的project
  2. 起名为web_work
  3. 首先打开IDEA 选择File --> Settings --> 搜素maven,就会看到如下界面
  4. 修改默认配置配置

2. 创建Maven工程

在IDEA中配置好maven后, 接下来我们使用maven去快速的去构建一个 JavaWeb项目

  1. project创建好以后, 选择创建module

  2. 选中创建一个 maven 工程

  3. 点击 Next填写项目信息

    进行一下修改

  4. 创建好的工程,长这个样子

    Maven目录说明:

src/main/java         —— 存放项目的.java 文件
src/main/resources   —— 存放项目资源文件,如数据库的配置文件
src/test/java       —— 存放所有单元测试.java 文件,如 JUnit 测试类
target              —— 项目输出位置,编译后的class 文件会输出到此目录
pom.xml              ——maven 项目核心配置文件

3. Maven工程改造

当前创建的maven项目是一个 普通的Java项目,不是web项目,我们要进行一下改造

  1. 在main目录下创建一个webapp文件夹

  2. 选择 project Structure —> facets—> 点击+号 添加web —> 选择当前工程hello_maven

  3. 修改路径信息

  4. 修改为 我们的 webapp目录
    修改后

  5. 点击ok 后,项目就变为了web项目, 在webapp目录下再创建一个 index.jsp,就OK了

4. pom核心配置文件

一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的信息、项目依赖、引入插件等等。

  1. 创建一个Servlet, 缺少jar包报错, 要解决问题,就是要将 servlet-api-xxx.jar 包放进来,作为 maven 工程应当添加 servlet的坐标,从而导入它的 jar
  2. pom.xml 文件中引入依赖包的坐标
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.lagou</groupId><artifactId>hello_maven</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency></dependencies></project>
  1. 一个Maven工程就是由groupIdartifactIdversion 作为唯一标识, 我们在引用其他第三方库的时候,也是通过这3个变量确定。
  • 坐标的概念

    • 在maven中坐标就是为了定位一个唯一确定的jar包。
    • maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范,拥有了统一规范,就可以把查找工作交给机器
  • Maven坐标主要组成(GAV) - 确定一个jar在互联网位置

标签 含义
groupId 定义当前Maven组织名称,通常是公司名
artifactId 定义实际项目名称
version 定义当前项目的当前版本
packaging 打包类型
jar:执行 package 会打成 jar 包 war:执行 package 会打成 war 包
dependency 使用 <dependency> 声明一个依赖后,Maven就会自动下载这个依赖包
  1. maven 的依赖管理, 是对项目所依赖的 jar 包进行统一管理。
标签 含义
dependencies 表示依赖关系
dependency 使用 <dependency> 声明一个依赖后,Maven就会自动下载这个依赖包
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>3.1.0</version></dependency>
</dependencies>
  1. 坐标的来源方式
    添加依赖需要指定依赖 jar 包的坐标,但是很多情况我们是不知道 jar 包的的坐标,可以通过如下方 式查询:
    从网站中搜索即可

5.1) 输入网址,进入网址 , 进行查询
网址:https://mvnrepository.com/

5.2) 点击进入后,可以看到各个版本的信息,选择3.1.0

  1. 手动下载jar包
    如果发现写入坐标后,在IDEA中下载maven失败了,那么我们还可以自己手动下载jar包,把jar包放到我们本地仓库进行引用
    jar包下载地址:https://repo1.maven.org/maven2/
    操作参考链接:https://blog.csdn.net/qq_36917119/article/details/107645692

5. 添加插件

  1. 添加编译插件, 设置 jdk 编译版本

本教程使用 jdk11,需要设置编译版本为 11,这里需要使用 maven 的插件来设置
在pom中加入如下配置:

 <!-- properties 是全局设置,可以设置整个maven项目的编译器 JDK版本 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 重点  --><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target></properties><!-- 在build中 我们需要指定一下项目的JDK编译版本,maven默认使用1.5版本进行编译注意 build 与 dependencies是平级关系,标签不要写错位置  --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><release>11</release></configuration></plugin></plugins></build>

6. 运行Maven项目

  1. 完善项目代码
    ServletDemo01.java
@WebServlet("/demo01")
public class ServletDemo01 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("hello maven!!!!");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);
}
}

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><h1>这是我的第一个maven工程!</h1>
</body>
</html>
  1. 配置tomcat ,部署项目

  2. 运行项目, 默认访问 index.jsp

  3. 访问Servlet

http://localhost:8080/hello_maven/demo01

IDEA中创建maven项目详细步骤,很清晰相关推荐

  1. IDEA快速创建maven项目详细步骤

    目录 前言必读: 1.Maven和Maven Archetype区别? 2.创建maven项目之前的步骤(必看) 一.创建maven 1.打开idea--->文件--->新建---> ...

  2. Idea中创建maven项目(超详细)

    Idea中创建maven项目 提示:前提条件时maven已经安装好,并且环境变量也配置完成,maven没安装好或者环境变量没有配置好的请参考我上一篇文章--maven的安装和配置 上篇博文链接:htt ...

  3. 【MAVEN】如何在Eclipse中创建MAVEN项目

    目录结构: contents structure [+] 1,Maven简介 2,Maven安装 2.1,下载Maven 2.2,配置环境变量 2.3,测试 3,Maven仓库 3.1,Maven仓库 ...

  4. IDEA从零到精通(15)之IDEA中创建maven项目

    文章目录 作者简介 引言 导航 热门专栏推荐 1.在Idea中配置maven 2.创建maven项目 3.配置项目 小结 导航 热门专栏推荐 作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从 ...

  5. IDEA中创建maven项目后解决main文件夹下目录不全的问题

    IDEA中创建maven项目后解决main文件夹下目录不全的问题 参考文章: (1)IDEA中创建maven项目后解决main文件夹下目录不全的问题 (2)https://www.cnblogs.co ...

  6. intellij从git上拉取maven项目详细步骤

    转载自:https://blog.csdn.net/cienven/article/details/79066290 刚从Eclipse转Intellij,对于它的各种操作也是一脸懵逼,但觉得使用起来 ...

  7. python numpy库安装winerror5_详解idea从git上拉取maven项目详细步骤

    刚从Eclipse转Intellij,对于它的各种操作也是一脸懵逼,但觉得使用起来还不错,今天就说一下我用Idea导入git中的Maven项目的详细步骤: 1. 首先打开Intellji Idea,选 ...

  8. 在IDEA中创建maven项目编写java代码操作HDFS集群

    一.安装win10编译过的hadoop 1.将编译好的hadoop包放在非中文目录 2.配置HADOOP_HOME环境变量 3.将hadoop包的bin目录加到PATH环境变量中 二.在idea中创建 ...

  9. 在eclipse中创建maven项目错误的解决方法:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-qu

    当我们在ecipse安装 maven插件后,  (how to install maven plugin named m2eclipse) You can install the lastest M2 ...

最新文章

  1. SAP WM LT42创建TO,报错-No entry in Table 329S (NM1 B)-
  2. python的groupby中函数详解_python groupby函数用法
  3. css语言基础--css的选择符语法
  4. ajax文件上传重置,解决AjaxFileupload 上传时会出现连接重置的问题
  5. 信号处理的流程linux,linux信号处理机制
  6. SAP CRM One Order header数据库表几个和时间戳相关的字段
  7. 表格合并行_合并行table表格
  8. leetcode43. 字符串相乘 经典大数+和*
  9. Opencv图像处理之改变颜色空间
  10. android 源码中的单例,Android源码中的一种单例实现
  11. yolo 负样本_SSD——样本正负比控制+多尺度检测 (目标检测)(one-stage)(深度学习)(ECCV 2016)...
  12. mysql的安装、启动和基础配置 —— mac版本
  13. Thinking in Java Reading Note(5.初始化与清理)
  14. 【数据结构笔记13】C实现:判别是否是同一颗二叉搜索树(BST)
  15. 基于cocos2d-x引擎的游戏框架设计
  16. 2016年电子制作5000经典案例
  17. 神奇的魔法师——教你在手机上如何一键创建相册
  18. 笔记本无线共享上网(网络是有线)
  19. unison+inotify
  20. 为什么1//0.1等于9.0,而1//-0.1=-10?

热门文章

  1. android 传输视频文件,如何将音视频文件传输到安卓设备中
  2. rrdtool php 绘图,PHP封装RRDTool的操作
  3. TS:解决Linux无法登录,输入密码后显示module is unknown报错(已解决)-2021.1.5
  4. github修改头像
  5. I2C虚拟项目验证结构
  6. 【pynq-z2】初始配置
  7. 电脑端onenote某笔记本改名后同步到手机端,笔记本名字未变的问题解决方法
  8. 部署NPS实现Socks5代理访问公司内网教程
  9. Linux内核省电社区,【整理】Linux禁用CPU省电状态/Linux系统性能调优 | 勤奋的小青蛙...
  10. pay java parent_全能第三方支付pay-java-parent 2.13.1 发布