转载

记录一次Maven中配置文件尾回车换行引发的问题

今天打开IDEA加载项目时,发现一个很诡异的问题:项目依赖及代码没任何问题,Maven依赖检测红色波浪线依旧存在。虽说项目依旧能跑起来不影响开发,但是maven命令操作用不了。

遇到问题后,我大吃一惊。昨天看项目还好好的,今天就报出某个项目一个依赖包找不到。可实际上。该依赖包在本地库是存在的。于是,我删掉了依赖包,重新远程仓库下载。

私服和中央仓库切换好几次,重新下载的依赖包都是完整没问题的。同样Maven的Clean或Install搭配使用多次,这让我更加郁闷,寻找着解决方案。

问题排查与解决

解决一

在项目中的pom.xml文件里把红色波浪线的依赖线注释掉,然后重新加载之后,就不会出现。

然后撤销注释,然后加载就OK了,网上上说这是IDEA开发工具的BUG,这谁晓得,先这样干吧。

解决二

解决一虽然解决了依赖找不到红色波浪线问题,但还是预留一些问题,那就是Maven的基本命令操作用不了。比如我使用了mvn clean进行操作,控制台则报出一段日志:

D:/applications/develop/JDK8/bin/java.exe -Dmaven.multiModuleProjectDirectory=E:/work/code/cashloan-api -Dmaven.home=D:/applications/develop/apache-maven-3.6.1 -Dclassworlds.conf=D:/applications/develop/apache-maven-3.6.1/bin/m2.conf "-javaagent:D:/applications/develop/IntelliJ IDEA 2019.1.3/lib/idea_rt.jar=57134:D:/applications/develop/IntelliJ IDEA 2019.1.3/bin" -Dfile.encoding=UTF-8 -classpath D:/applications/develop/apache-maven-3.6.1/boot/plexus-classworlds-2.6.0.jar org.codehaus.classworlds.Launcher -Didea.version2019.1.3 -s D:/applications/develop/apache-maven-3.6.1/conf/settings.xml -Dmaven.repo.local=D:/applications/develop/apache-maven-3.6.1/repo install
[ERROR] Error executing Maven.
[ERROR] 2 problems were encountered while building the effective settings
[FATAL] Non-parseable settings D:/applications/develop/apache-maven-3.6.1/conf/settings.xml: in epilog non whitespace content is not allowed but got j (position: END_TAG seen ...</settings>/n/nj... @300:2)  @ D:/applications/develop/apache-maven-3.6.1/conf/settings.xml, line 300, column 2
[FATAL] Non-parseable settings D:/applications/develop/apache-maven-3.6.1/conf/settings.xml: in epilog non whitespace content is not allowed but got j (position: END_TAG seen ...</settings>/n/nj... @300:2)  @ D:/applications/develop/apache-maven-3.6.1/conf/settings.xml, line 300, column 2

通过日志我觉得Maven的配置文件settings.xml有问题,第300行第2列有疑惑。

我打开settings.xmls文件,没有300行,查看好像并没有什么问题,但是仔细阅读日志END_TAG seen …/n/nj… @300:2,这个让我有所启示,猜测是换行的问题。

记录一次Maven中配置文件尾回车换行引发的问题

What?xml文件尾不能有回车换行,我不信这个邪,我就去试试。

试了以后,才知道真的是这个问题。该死,想了一下,自己今天早上改动过配置文件,可能在保存之前敲了回车,真是该死!!!

原文  http://blog.yeamin.top/2019/06/04/记录一次Maven中配置文件尾回车换行引发的问题/
正文到此结束
Loading...