一.配置Maven
写在前面:特别注意idea版本与Maven版本以及jdk版本与Maven版本的匹配问题。一定要下载和当前idea版本以及jdk版本匹配的maven版本,否则会出问题。具体匹配结果上网查询!此处采用idea=2023.2.3,jdk=17,maven=3.9.0。不同版本idea配置及创建会略有不同,请参考具体文档说明(图片中idea=2021.1.1,jdk=11请忽略,Maven=3.6.1请忽略)。
配置Maven的方式有两种,采用方式2,首先介绍方式1。即在当前工程中配置Maven。
方式1:当前工程配置Maven
找到Maven后设置Maven home path为maven的安装路径 。勾选后面的Override设置User settings file为maven安装下的conf文件夹中的settings.xml文件路径。Local repository为自定义的本地仓库地址。
接着配置JRE环境版本。
最后配置字节编码版本,与JRE环境版本相同。
方式2:全局配置Maven(推荐)
全局配置Maven就不用一个项目一个项目的配置了,一劳永逸。
首先我们随意点开一个java项目,接着点击file->close project。弹出下列创建项目框,在其中进行配置。
第二步和上面的一样。
第三步和上面的一样。
第四步和上面的一样。
这样就完成了在全局中配置Maven环境。
二.创建Maven项目
首先创建一个空项目。
接着在空项目中新建一个模块(module)
在新建的模块中选择左侧边栏为maven archetype,设置模块名。选择Catalog为Internal,Archetype选择quickstart,具体根据maven项目的Archetype常用选择_maven里面的archetype选择-CSDN博客。
点击Advanced Settings进行设置
在Advanced Settings中GroupId通常为域名反写。ArtifactId为模块名。Version使用默认。此处是设置Maven的坐标。设置好后即可点击create,根据前面的maven配置创建Maven模块。
创建好后如下:此处模块名为maven-project01,src下面有两个文件夹main和test。main用来存放项目的资源。test下面存放的是测试的资源。main下面有两个文件夹java和resources。这里java是用来存储java源代码的。resources用来存储配置文件。test下的java同理。但test下可能没有resources文件夹,也可能main下面也没有。这时就需要我们手动创建了。在main/test上右键New->Directory,idea会自动联想出resources文件夹,点击即可。
之后运行maven项目中自带的helloword程序,成功即代表配置创建成功。 左侧多出一个target文件夹,存放的是java编译后产生的字节码文件。
三.Maven坐标
配置和创建完Maven项目时,我们了解一下Maven坐标。
坐标的作用:
1.可以使用坐标来定义项目
<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.gjw</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>maven-project01</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>