每次创建 Project 后都需要设置 Maven 家目录位置,否则 IDEA 将使用内置的 Maven 核心程序(不稳定)并使用默认的本地仓库位置。这样一来,我们在命令行操作过程中已下载好的 jar 包就白下载了,默认的本地仓库通常在 C 盘,还影响系统运行。
配置之后,IDEA 会根据我们在这里指定的 Maven 家目录自动识别到我们在 settings.xml 配置文件中指定的本地仓库。
打开Maven 的核心配置文件: conf/settings.xml
指定好本地仓库
配置阿里云提供的镜像仓库
①将原有的例子配置注释掉
开发中一般我们使用自己下载的maven,不使用IDEA工具自带的,这就需要将我们下载的maven配置到IDEA工具中,配置如下图所示:
maven home path: 填写自己下载好的maven的位置
user setting file :是用来配置去哪下载依赖的jar包的settings.xml文件
Local repository: 是下载的jar包存放的本地仓库路径
创建子工程后,会在父工程中自动添加packing属性
目录
简单测试
结果如下
按照前面的同样操作创建模块,此时这个模块其实还是一个Java模块。
Web 模块将来打包当然应该是 war 包。
结合 Maven 的目录结构,Web 资源的根目录需要设置为 src/main/webapp 目录。
创建成功
创建index.jsp
创建Message
package com.atguigu.maven;
/**
* @author shkstart
* @create 2023-02-10 18:20
*/
public class Message
{
public String getMessage() {
return "hello message";
}
}
index.jsp
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2023/2/10
Time: 18:09
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%=new Message().getMessage() %>
</body>
</html>
运行成功
-D 表示后面要附加命令的参数,字母 D 和后面的参数是紧挨着的,中间没有任何其它字符
maven.test.skip=true 表示在执行命令的过程中跳过测试
mvn clean install -Dmaven.test.skip=true
Maven工程除了自己创建的,还有很多情况是别人创建的。而为了参与开发或者是参考学习,我们都需要导入到 IDEA 中。下面我们分几种不同情况来说明:
目前我们通常使用的都是 Git(本地库) + 码云(远程库)的版本控制系统,结合 IDEA 的相关操作方式请点这里 (opens new window)查看克隆远程库部分。
直接使用 IDEA 打开工程目录即可。下面咱们举个例子:
假设别人发给我们一个 Maven 工程的 zip 压缩包:maven-rest-demo.zip。从码云或GitHub上也可以以 ZIP 压缩格式对项目代码打包下载
如果你的所有 IDEA 工程有一个专门的目录来存放,而不是散落各处,那么首先我们就把 ZIP 包解压到这个指定目录中。
只要我们确认在解压目录下可以直接看到 pom.xml,那就能证明这个解压目录就是我们的工程目录。那么接下来让 IDEA 打开这个目录就可以了。
打开一个新的 Maven 工程,和新创建一个 Maven 工程是一样的,此时 IDEA 的 settings 配置中关于 Maven 仍然是默认值:
所以我们还是需要像新建 Maven 工程那样,指定一下 Maven 核心程序位置:
在实际开发中,通常会忽略模块(也就是module)所在的项目(也就是project)仅仅导入某一个模块本身。这么做很可能是类似这样的情况:比如基于 Maven 学习 SSM 的时候,做练习需要导入老师发给我们的代码参考。
[1]找到老师发的工程目录
[2]复制我们想要导入的模块目录
[3]粘贴到我们自己工程目录下
[4]在 IDEA 中执行导入
刚刚导入的 module 的父工程坐标还是以前的,需要改成我们自己的 project。
其它操作和上面演示的都一样,只是多一步:如果有多余的、不正确的 web.xml 设置,将其删除。如下图所示: