刚开始学maven,在mac电脑上出现了一些列的坑,我都踩了...
最开始下载的maven3.8.8,我的IDEA版本是2021.3,版本下载网上说的不匹配,然后我又直接下载了个低版本3.2.2的版本;
创建maven项目后出现了如下错误:
查到了很多种原因:
第一种原因是:setting中的maven设置的配置地址有问题:
第一个地方是设置maven的版本,如果你下载了本地的maven,就写你自己下载的maven地址;(好像IDEA自己也带Maven)
第二个地方设置的地址默认是.m2/的一个地址里面的setting.xml文件,我这里改成了我自己下载的本地maven地址的配置文件;
第三个地方是填写本地的maven仓库地址,你可以自己创建一个地址;
第二种原因是:maven设置中的默认打开(VM Options)
这里的VM Options 输入:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true |
第三个原因:我看有人说是因为镜像下载的问题;
这里还有一个问题可能发生,就是网上说联通网络可能进入不去的可能,从而导致无法联网下载插件,解决办法是将阿里云的镜像地址改为:https://repo.maven.apache.org/maven2/;
可以在本地的maven文件包的conf里面的setting.xml文件中再添加几个镜像下载地址:
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://central.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>junit</id>
<name>junit Address/</name>
<url>http://jcenter.bintray.com/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
第四个原因:pom.xml中缺少了build插件,即在pom.xml中添加如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</build>
最后我的原因是:properties中的maven编译器来源 应该是jdk1.8,而我写的是jdk11;
这个jdk11和jdk1.8的区别就在于是否有jre,jdk11是不包含jre的,而jdk1.8是jdk和jre都包含的,而maven所需要的是jre的部分....
又出现相同的问题了,这次我根据代码错误提示,直接去setting.xml中修改,发现又一个注释没有去掉QAQ。问题解决。不过我这里的src文件以及里面的java文件,resources文件、还有webapp文件都是自己创建的。