如何从父pom继承依赖关系到子pom

我是使用Maven和Jenkins的新手。我试图继承从父pom到子pom的依赖关系,它显示以下错误:

[ERROR] COMPILATION ERROR : 

[INFO] -------------------------------------------------------------

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/XMLConverters.java:[10,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/XMLConverters.java:[11,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/XMLConverters.java:[15,38] cannot find symbol

symbol: class AbstractRequestMessageData_Type

location: class com.td.inv.wss.util.XMLConverters

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/XMLConverters.java:[26,23] cannot find symbol

symbol: class AbstractResponseMessageData_Type

location: class com.td.inv.wss.util.XMLConverters

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/UsTermRateItemComparator.java:[5,42] package com.rpmtec.current.UsTermRate_Type does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/UsTermRateItemComparator.java:[7,61] cannot find symbol

symbol: class UsTermRateItems

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/UsTermRateItemComparator.java:[9,28] cannot find symbol

symbol: class UsTermRateItems

location: class com.td.inv.wss.util.UsTermRateItemComparator

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/UsTermRateItemComparator.java:[9,48] cannot find symbol

symbol: class UsTermRateItems

location: class com.td.inv.wss.util.UsTermRateItemComparator

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[9,40] package com.fasterxml.jackson.annotation does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[10,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[11,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[12,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[13,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[14,42] package com.rpmtec.current.UsTermRate_Type does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[19,2] cannot find symbol

symbol: class JsonIgnoreProperties

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[69,22] cannot find symbol

symbol: class ORCA_GETTERMHOLDINGRS_Type

location: class com.td.inv.model.COIRQ

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[69,66] cannot find symbol

symbol: class RPM_GETPLANACCOUNTOVERVIEWRS_Type

location: class com.td.inv.model.COIRQ

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/model/COIRQ.java:[70,25] cannot find symbol

symbol: class ORCA_GETTERMINSTRUCTIONRS_Type

location: class com.td.inv.model.COIRQ

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[5,26] package javax.ws.rs.client does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[6,26] package javax.ws.rs.client does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[7,26] package javax.ws.rs.client does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[8,26] package javax.ws.rs.client does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[9,24] package javax.ws.rs.core does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[15,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[16,26] package com.rpmtec.current does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[23,57] cannot find symbol

symbol: class AbstractRequestMessageData_Type

location: class com.td.inv.wss.util.RPMInvoker

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/util/RPMInvoker.java:[24,41] cannot find symbol

symbol: class AbstractResponseMessageData_Type

location: class com.td.inv.wss.util.RPMInvoker

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/application/InvestmentAPI.java:[4,19] package javax.ws.rs does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/application/InvestmentAPI.java:[5,24] package javax.ws.rs.core does not exist

[ERROR] /D:/jenkins/workspace/CBAW/testP/WSW_Investment/src/main/java/com/td/inv/wss/application/InvestmentAPI.java:[9,36] cannot find symbol

symbol: class Application

这是我的父母POM:

.....

<modelVersion>4.0.0</modelVersion>

<groupId>group1</groupId>

<artifactId>group1-artifact</artifactId>

<version>1.0.1</version>

<packaging>pom</packaging>

<modules>

<module>child1</module>

</modules>

.......

这是我的孩子POM:

.....

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>group1</groupId>

<artifactId>group1-artifact</artifactId>

<version>1.0.1</version>

<relativePath>(full url.....)/jenkins-parent-pom//pom.xml</relativePath>

</parent>

<groupId>group1</groupId>

<artifactId>child1</artifactId>

<version>0.0.1</version>

<packaging>war</packaging>

......

这是我尝试从父POM继承子POM中的依赖项的方法:

<dependencyManagement>  

<dependencies>

<dependency>

<groupId>group1</groupId>

<artifactId>group1-artifact</artifactId>

<version>1.0.1</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

如果我将相同的依赖项放在子POM中,则效果很好。我使用jenkins在nexus中clean

install进行安装和deploy部署。我正在使用maven-3.3.9。在詹金斯,我从git中阅读了两个不同的Maven项目中的父项和子项。我想从父POM继承所有依赖项和插件。可能吗?

回答:

您应该在<dependencies>要实现这一点的部分下声明要继承的依赖项。<dependencyManagement>用于定义,以后必须在<dependencies>特定子对象中引用该定义,以使其生效。

:声明每个子pom都将继承的依赖项时要小心。很快,您就可以拥有真正不需要的依赖项,因为它们是在父级中声明的。正如其他评论者所提到的<dependencyManagement>,虽然这并不是您最初想要的,但也许是一个更好的选择。

以上是 如何从父pom继承依赖关系到子pom 的全部内容, 来源链接: utcz.com/qa/421736.html

回到顶部