Maven常见问题、异常、错误整理【持续更新】

前言

之前也写过一篇与Maven相关的文章,这是第二篇对于Maven常见问题、常见异常的整理。
开一篇新的文章一个原因是自己更换了新的IDE【之前使用myEclipse,现在换成IDEA】,更重要的原因是新的文章对于处理Maven这类错误的方案操作描述更加详细,对自己的要求要不断提高才行。
将遇到的问题罗列出来,能解决的就与大家分享并探讨解决的方案;解决不了的就Mark,等到找到问题或者有网友给意见再补充。


第一篇文章链接:
Maven常见异常及解决方法(本篇停更至16-4-12):http://blog.csdn.net/nthack5730/article/details/46633287


注:

  1. 因为部署的环境不经可能会使报错以及解决方案都有差异。
    撰写本文所用的环境:
    • JDK 1.8.0
    • Maven 3.3.9
    • Nexus 2.12.0-01
       
  2. 本文分类依据有:



常见异常





编译器、配置相关


错误内容:

在IDEA中存在web.xml以及springmvc.xml两个资源文件。
web.xml中定义了【servlet --> init-param --> param-value】配置,指定servlet拦截器以及拦截器的初始化配置文件,但IDEA提示错误如下:

Cannot resolve file 'springmvc.xml' less... (Ctrl+F1) 
Highlights unresolved file references in XML.

处理解决方案:

出现这个问题的原因在于IDEA没有识别到该配置文件的路径,绝大的原因在于Maven的索引没有该文件

  • 首先,必须确定该资源文件【"xxxx.xml"】的路径正确
  • 然后就是更新Maven的索引:
    • 【选中项目】---【右键】---【Maven】---【Reimport】
    • 等待Maven导入索引更新完成,错误提示消失
      很多类似的情况都是因为物理文件的更新在Maven导入索引中没有更新导致IDEA报错的,更新下就好了,这个Reimport比较万能。


错误内容:

Warning:java: 源值1.5已过时, 将在未来所有发行版中删除
Warning:java: 目标值1.5已过时, 将在未来所有发行版中删除
Warning:java: 要隐藏有关已过时选项的警告, 请使用 -Xlint:-options。

处理解决方案:

这是由于IDEA使用Maven编译的时候项目源目标都使用了JDK 1.5的来编译,但是目前我们又没装1.5(基本都是1.7或以上了),最后还是用了你装的版本来编译,因此编译还是能通过,但是就出现了刚刚这种错误!
完整解决这个方法有三步:

  1. 将IDEA中对应的项目的:【Modules->Language Level】为 ”8”
    • 在IDEA中打开项目设置(或者按下【Ctrl + Alt + Shift + S】)
    • 找到Modules,找到对应的项目
    • 将【Language Level】下拉菜单的值改为 "8"
  2. 配置Maven的配置文件,将编译插件用的JDK改为1.8
    • 打开settings.xml
    • 找到 <profiles>...</profiles> 标签对,并在标签对中间加上如下代码:
  3. <profile>
          <id>jdk-1.8</id>
          <activation>
              <activeByDefault>true</activeByDefault>
              <jdk>1.8</jdk>
          </activation>
          <properties>
              <maven.compiler.source>1.8</maven.compiler.source>
              <maven.compiler.target>1.8</maven.compiler.target>
              <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
          </properties>
      </profile>
    
    • 启用该profile设置,找到 <activeProfiles>...</activeProfiles> 标签对,在中间加入:
  4.   <activeProfile>jdk-1.8</activeProfile> 
    

表示启用该profile的配置
3. 在项目的pom.xml中加入:

 <properties>
 	<maven.compiler.source>1.8</maven.compiler.source>
 	<maven.compiler.target>1.8</maven.compiler.target>
 </properties>

至此,配置完成,重新【clean deploy】下项目,提示消失。



错误内容:

处理解决方案:



猜你喜欢

转载自blog.csdn.net/nthack5730/article/details/70215352