1、使用maven构建一个项目(IDEA):
- 普通项目
1、 找到并选maven,普通项目不用勾选红框
2、直接点击下一步,填写 GroupId , ArtifactId,Version 自己定义
3、点击完成,就创建成功了
项目目录结构
pom配置文件
<?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.liujiawei</groupId>
<artifactId>mymavendemo01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
4、配置 pom.xml,注入依赖项(导入所需的 jar 包)
- 创建web项目时
1、找到并选maven,勾选红框
2、点击下一步,自己定义填写 GroupId , ArtifactId,Version
3、这里更改了仓库
- 更改本地资源库:
本地仓库是远程仓库的一个缓冲和子集,存储所有项目的依赖关系,构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,Maven会从远程仓库下载到本地仓库,在下次使用时就不需要从远程下载
Maven默认的本地仓库路径为${user.home}/.m2/repository,如C:/Users/dell/.m2/
项目较多时,会占用过多C盘资源,因此可以自定义本地资源库
使用仓库配置的优先级顺序:pom.xml>用户级别>全局级别
settings文件需要修改配置
- 配置maven国内镜像:远程仓库
在不配置镜像的情况下,maven默认会使用中央库
maven中央库在国外,访问会很慢,甚至有时候会出现无法下载的情况
为了解决依赖下载速度的问题,需要配置maven国内镜像
<localRepository>D:/.m2/repository</localRepository>
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
4、这样就完成创建了
web项目的packaging 是war
<groupId>com.liujiawei</groupId>
<artifactId>mymavendemoweb01</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
需要jar包,导入依赖就好了
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
2、使用maven构建多个项目(IDEA):
在第一个项目的基础上,再建一个子项目
子项目下pom配置
<parent>
<artifactId>mymavendemo01</artifactId>
<groupId>com.liujiawei</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
同时父项目pom配置会多modules标签
<modules>
<module>mymavendemo01_utils</module>
</modules>
子目录的pom的jar依赖
会继承父目录xml的依赖
3、同一个工程下不同模块之间的类相互调用(IDEA):
1、将被调用的模块进行install
2、在调用模块添加被调用模块的依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.liujiawei</groupId>
<artifactId>mymavendemo01_utils</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
3、刷新pom配置