zoukankan      html  css  js  c++  java
  • maven编译问题之 -The POM for XXX is invalid, transitive dependencies (if any) will not be available

    问题一: 把父工程tao-parent install 到maven本地仓后,接着install tao-common工程,然后报错

    报错信息如下:

    [WARNING] The POM for com.fasterxml.jackson.core:jackson-databind:jar:2.4.2 is invalid, transitive dependencies (if any) will not be available,enable debug logging for more details

    错误信息意思是 com.fasterxml.jackson.core:jackson-databind:jar:2.4.2 这个jar包的POM文件无效,依赖传递不可用;

    解决办法:在install 时,使用调试模式, install -X ,将控制台的信息拷贝出来,查找[WARNING]信息,可以看到如下错误提示:

    [WARNING] The POM for com.fasterxml.jackson.core:jackson-databind:jar:2.4.2 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.fasterxml.jackson.core:jackson-databind:2.4.2

    [FATAL] Non-parseable POM D:apache-maven-3.5.2Mavencomfasterxmljacksonjackson-parent2.4jackson-parent-2.4.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</build> </project> <?xml ... @180:7)  @ D:apache-maven-3.5.2Mavencomfasterxmljacksonjackson-parent2.4jackson-parent-2.4.pom, line 180, column 7

    提示信息指向了 D:apache-maven-3.5.2Mavencomfasterxmljacksonjackson-parent2.4目录下的  jackson-parent-2.4.pom文件

    找到该POM文件 180行,看到有提示信息,将jackson-parent2.4目录下的所有文件删除,然后重新使用install命令把tao-common打包到本地maven仓正常,正常仓库下的文件如下,这个 jackson-parent-2.4.pom文件和之前的 jackson-parent-2.4.pom文件的内容也不相同 !

    问题二:上面问题解决后,install tao-manager时,报如下告警信息:

    [WARNING] The POM for org.mybatis:mybatis-spring:jar:1.2.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details

    [WARNING] The POM for commons-logging:commons-logging:jar:1.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details 

     选中项目,右键->run as ,选择maven build ...,然后在对话框中的Goals项填入" dependency:tree",再在"debug output"打上勾,并将此项启动的名字改为"showDependency-tree",然后点击Run按钮, 获取maven依赖关系,执行后,将控制台的调试信息拷贝出来,查找FATAL级别的,如下:

    [WARNING] The POM for org.mybatis:mybatis-spring:jar:1.2.2 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.mybatis:mybatis-spring:1.2.2
    [FATAL] Non-parseable POM D:apache-maven-3.5.2Mavenorgmybatismybatis-parent20mybatis-parent-20.pom: only whitespace content allowed before start tag and not o (position: START_DOCUMENT seen o... @1:1) @ D:apache-maven-3.5.2Mavenorgmybatismybatis-parent20mybatis-parent-20.pom, line 1, column 1

    [WARNING] The POM for commons-logging:commons-logging:jar:1.2 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for commons-logging:commons-logging:1.2

    [FATAL] Non-parseable POM D:apache-maven-3.5.2Mavenorgapachecommonscommons-parent34commons-parent-34.pom: start tag not allowed in epilog but got p (position: END_TAG seen ...</properties> </project>               <p... @1387:17)  @ D:apache-maven-3.5.2Mavenorgapachecommonscommons-parent34commons-parent-34.pom, line 1387, column 17

    [WARNING] The POM for commons-logging:commons-logging:jar:1.2 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for commons-logging:commons-logging:1.2

    [FATAL] Non-parseable POM D:apache-maven-3.5.2Mavenorgapachecommonscommons-parent34commons-parent-34.pom: start tag not allowed in epilog but got p (position: END_TAG seen ...</properties> </project>               <p... @1387:17)  @ D:apache-maven-3.5.2Mavenorgapachecommonscommons-parent34commons-parent-34.pom, line 1387, column 17

     可以得知D:apache-maven-3.5.2Mavenorgapachecommonscommons-parent34路径下的 commons-parent-34.pom文件

    D:apache-maven-3.5.2Mavenorgmybatismybatis-parent20路径下的  mybatis-parent-20.pom文件损坏。删除后更新maven仓库,然后install正常

    经验提升:

    1.maven编译问题,有可能是某些需要的文件坏了,删除后右键单击工程名==》maven ==》 update project , 更新 一下maven仓就解决了

    2.遇到maven编译问题,可以使用maven调试模式,获取更精确的问题信息,从而快速定位问题  具体步骤是: 右键单击工程名==》run as ==》maven build...(选择带...的这个),

    在Goals后面输入clean install -X ,之所以加上clean命令,是为了清除之前打到本地仓的包

    3. 如何查lib下的jar来自哪个maven依赖(用于解决jar版本冲突,第三方依赖jar包pom文件损坏问题):

    选中项目,右键->run as ,选择maven build ...,然后在对话框中的Goals项填入" dependency:tree",再在"debug output"打上勾,并将此项启动的名字改为"showDependency-tree",然后点击“Debug"/Run按钮, console里面会很详细地显示每个pom里面配置的依赖它们会带来哪些jar文件,以及jar包,pom错误信息 

    参考资料:

    https://www.cnblogs.com/woshicckk/p/6410477.html 

    https://blog.csdn.net/rocklee/article/details/51691617 

     

  • 相关阅读:
    MVC5管道处理模型
    http协议下:为什么请求与响应会做到准确误的对应。不会出现请求与响应的错乱
    修改 IIS 队列长度
    修改 ASP.NET 请求队列的限制
    Windows性能查看器:系统的性能信息(I/O,IIS最大连接数,Sql) ,以及解决 asp.net IIS 一二百多用户并发
    详解 ASP.NET异步
    [C#]获得线程池中活动的线程数
    一个http请求就是一个线程吗,java的服务是每收到一个请求就新开一个线程来处理吗
    IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...
    ASP.NET MVC 线程和并发
  • 原文地址:https://www.cnblogs.com/enjoyjava/p/9743460.html
Copyright © 2011-2022 走看看