IntelliJ IDEA 支持构建工具Maven,但在具体使用中有一些困扰初学者的问题。本文从一个Maven配置的实战出发,详细描述了在IntelliJ IDEA中如何创建Maven项目,如何配置Maven,可能遇到的问题,以及如何解决。
环境:
JDK 15
IntelliJ IDEA 2020.2
注:环境很重要,不同版本的IDEA,具体配置位置或文字描述会有不同。
测试的代码:调用第三方库apache.commons.math3计算gcd
import org.apache.commons.math3.util. ArithmeticUtils;
public class GcdTest {
public static void main(String[] args) {
//计算两个整数的公约数
int a = ArithmeticUtils.gcd(361, 285);
System.out.println(a);
}
}
创建Maven项目,File–New—Projects
注:如果是第一次创建Maven项目,IDEA 会自动下载很多支持文件,大约需要10几分钟,需要耐心等待。
创建Maven的过程很简单,但需要重点关注其中的几个比较坑的点
-
版本不匹配问题,不知道是否是IDEA的bug,新建MAVEN后,有几个和版本有关的设置,IDEA固执的设置为某个奇怪的低版本,比如Modules里会设置为5,【File–Project Structure–Modules】
-
字节码版本会设置为1.5,【File–Setting–Build–Java Compiler】,后面会执行reload project后,IDEA会重置上面2个版本设置,需要重新检查并设置!!!
如果上述版本不对,会报类似如下的错误
添加第三方库相关的dependency到pom.xml文件,可以到mvnrepository上下载
库未下载时,代码会有红色标记。
Maven自动下载的设置,这只是一部分设置,后续还有相关设置
Maven自动下载的设置,这是第二步,在settings.xml设置mirror
具体mirror内容可以参考下文
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
<id>planetmirror.com</id>
<!--镜像名称 -->
<name>aliyun</name>
<!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<!--被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库(http://repo1.maven.org/maven2)的镜像,就需要将该元素设置成 central。这必须和中央仓库的id central完全一致。-->
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
重要,设置好mirror后还需要reload project
如果出现下面错误,说明版本配置正确了,只是没有正确设置setting.xml或还没有reload project
正确完成后,则会如下图,自动下载需要的第三方库
代码也可以正确运行了,bingo!