[java][54]解决导入maven工程出错问题

  从服务器用git下的maven工程,导入eclipse后出错,错误描述如下:

1.  pom.xml报错,工程里各种缺包。

2.  由1.的报错,找到了错误的根源:

工程D的缺包 依赖2个工程 P1 和 P2,这2个依赖工程也已导入。

手动添加这2个依赖工程,但每次对D做update maven project后,下图所示的最后2行依赖自动消失:

[java][54]解决导入maven工程出错问题

    同样,也尝试对.settings 文件夹下面的 .component文件手动添加P1, P2这2个dependencies, 但一更新maven project, 这2个依赖也丢失了。


笔者尝试了许多方法,如下:

1.  怀疑自己导入maven工程的方法错误

参考:Eclipse导入Maven项目详解(新手初学):

https://blog.****.net/w12345_ww/article/details/52094756

2. pom.xml的packaging选择war

参考:https://blog.****.net/achenyuan/article/details/78434848

3. eclipse的project -> clean

   D工程的java build path -> projects添加依赖的2个projects: P1,P2

4.  

(1)win -> cmd窗口 -> cd到D工程所在位置 -> 

输入:mvn package –DskipTests      目的应该是更新此目录下的所有jar包

-> 报错:Failed to execute goal on project D 

(2)参考:https://www.oschina.net/question/143808_156035
        需要把parent工程,也就是package是pom的那个工程先install一下。
        就是pom文件里面有<packaging>war</packaging>这个标签,标签内容为pom的那个工程
        基于此,对P1工程先clean再install,cd到P1下面:mvn clean install,仍然报错


最终解决方案

1.   原始

maven的安装包下有2个settings.xml

1)settings.xml,系统默认选它。

2)D使用的是settings_lala.xml,eclipse中 maven选的是它。

 猜测:基于此,上面通过cmd折腾mvn build,mvn clean,mvn install等都没用,应是因为windows默认会选择settings.xml

 2.     解决

修改文件名:

将原【settings.xml】-> 【settings.bak.xml】随便命名的

将原【settings_lala.xml】-> 【settings.xml】

如下图:

[java][54]解决导入maven工程出错问题

 再在eclipse中选择settings.xml,等同于原来的settings_lala.xml,如下图:

[java][54]解决导入maven工程出错问题

 我的天,困惑1天多的问题解决了,不再报错了!!!


 总结

问题线路:

1.  发现.settings文件夹下的 XXX.component文件,更新后缺东西

2.  发现缺少P1和P2依赖

3.  发现通过DeploymentAssembly和Java Build Path,手动添加P1和P2依赖也是更新后丢失

根源:

maven-repo下缺少P1和P2相关依赖

解决:

settings.xml没配好。

但是错误是突然出现的,之前配的settings_lala.xml没问题--晕倒