用过Maven的朋友肯定遇到过Maven莫名其妙报错的问题,根据我个人经验,Maven报错的原因百分之70是Jar没有下好,百二分之20是因为版本不匹配,剩下百分之10其它的可能。
在这里我就总结一下用Maven遇到的坑。
配置aliyun远程仓库
maven仓库用过的人都知道,国内有多么的悲催。还好有比较好用的镜像可以使用,最快记录。速度提升N倍,并且更稳定,减少Jar错误。
有两种方式:
1、在项目的pom.xml里直接加入:1
2
3
4
5
6
7
8
9
10
11
12
13
14<repositories><!-- 代码库 -->
<repository>
<id>maven-ali</id>
<url>http://maven.aliyun.com/nexus/content/groups/public//</url>;
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
2、在$MAVEN_HOME的conf文件夹的setting.xml的标签里加入1
2
3
4
5
6<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>;
<mirrorOf>central</mirrorOf>
</mirror>
maven工程上带有红色感叹号
从svn或者本地将maven工程导入到自己的IDE开发环境后,maven工程上带有红色的感叹号报错信息,其他的没有红×报错。这是因为maven工程没有自动编译。四步搞定!
- 将一个maven工程导入到IDE开发环境之后,会出现红色感叹号,这是因为本地还没有创建好这个maven工程需要的其他文件,需要更改ide设置。选中项目,输入alt+Enter或者 右键—properties属性。
- 进入项目属性界面之后,选择java compile —building选项,进行重新构键项目。
- 进入building界面之后,勾选Enable project specific settings和build path problems—About build whenbuid path errors occur
- 将Incomplete build path和circular dependencies中的error改成warning
- 保存设置,改为warning之后,点击apply应用,然后点击yes保存设置,项目开始重新构键。
maven pom文件报错:Multiple annotations found at this line 解决方案
很多人应该都遇到过这个问题,在一台电脑上搭好了项目,然后复制或者update到另外一台电脑中可能就报这个错了:1
2
3
4
5
6
7Multiple annotations found at this line:
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (execution: default-testCompile, phase: test-compile)
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (execution: default-compile, phase: compile)
- CoreException: Could not get the value for parameter compilerId for plugin execution default-compile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be
resolved: The repository system is offline but the artifact com.google.collections:google-collections:jar:1.0 is not available in the local repository.
- CoreException: Could not get the value for parameter compilerId for plugin execution default-testCompile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be
resolved: The repository system is offline but the artifact com.google.collections:google-collections:jar:1.0 is not available in the local repository.
这不是一个独特的问题,偶尔发生(有时由于连接缓慢,有时由于代理服务器现在允许下载)
你可以通过以下任何一种方式来摆脱这个问题:
- 强制更新:右键单击Eclipse中的项目> Maven >更新项目在该屏幕上选择快照/发布的复选框强制更新
- 清除Maven缓存:如果您仍然面临问题,请转到系统上的本地存储库,该库可能存在ATC:\\用户\ MyUrNeNe\M2\ReaviToRyy,并删除.cache文件夹,然后执行步骤1。
- 如果仍然面临问题,手动转到ORG/Apache文件夹,删除所有内容,然后执行步骤1。(这肯定会解决这个问题。)
其中第三种解决办法如下:
- 找到你的maven仓库包位置,删掉repository文件夹下的所有文件:
- 然后右击项目->maven->update maven configuration…。offline和fore update of snapssots/Releases(强制更新)一定要勾选上。
下载完之后你会发现,问题解决了!!!
如果还不能解决,在pom文件加个依赖:1
2
3
4
5<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
</dependency>
参考:1
2
3阿里云仓库:https://blog.csdn.net/u014427391/article/details/79594960
处理红色感叹号:https://jingyan.baidu.com/article/86fae346f63b233c49121aa3.html
报错:https://blog.csdn.net/qq_27184497/article/details/80091294