当前位置: 代码迷 >> 综合 >> The POM for com.xxx:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be avai
  详细解决方案

The POM for com.xxx:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be avai

热度:53   发布时间:2023-09-19 23:56:28.0

quanlity-node依赖common-node之前的maven依赖都是可以,今天打开重新maven install时报错了

warn:The POM for com.xxx:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be available;

一:后面通过maven 调试发现(添加 -X 参数 )run as ->maven build中配置mvn install -X,发现common-node确实还是有问题的。原因是common-node 的pom 引用了一个本地的jar,它的写法是 相对路径,从而导致quanlity-node 所依赖的所有jar都不可用了,如下:

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/java/lib/ojdbc6-11.2.jar</systemPath>
          </dependency>

从而,maven compile 失败了。 怎么解决呢? 提示告诉我,需要写成绝对路径的形式。 把那个本地jar 的地址改为绝对路径就好了:不过,发现 还行需要先把common-node 先install,不install 还不行。

二:应用根目录打印依赖树:

开启debug功能,重新打印依赖树:

mvn -X dependency:tree>tree.txt
  • 开启maven debug功能后,警告后紧跟了一条错误信息,如下。错误原因:传递依赖项中有依赖项路径是相对路径。
  • [WARNING] The POM for com.xxx:common-node:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.xxx:common-node:0.0.1-SNAPSHOT
    [ERROR] 'dependencies.dependency.systemPath' for com.oracle:ojdbc6:jar must specify an absolute path but is ${project.basedir}/src/main/java/lib/ojdbc6-11.2.jar @
  相关解决方案