Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 父版本的Maven子依赖项错误_Java_Maven_Streambase - Fatal编程技术网

Java 父版本的Maven子依赖项错误

Java 父版本的Maven子依赖项错误,java,maven,streambase,Java,Maven,Streambase,我们有下一个项目结构: parentPom.xml java项目 streambase项目 streambaseParentPom.xml 项目1 project2(与project1有依赖关系) 因此,我们有一个parentPom,继承到streambaseParentPom,最后一个继承到所有streambase项目。 因此,我们尝试在parentPom中包含一个名为cerebro.version的属性,该属性定义父级的版本。 当我们将project1作为其他项目的依赖项时,我们

我们有下一个项目结构:

parentPom.xml

  • java项目

  • streambase项目

    • streambaseParentPom.xml

      • 项目1

      • project2(与project1有依赖关系)

因此,我们有一个parentPom,继承到streambaseParentPom,最后一个继承到所有streambase项目。 因此,我们尝试在parentPom中包含一个名为cerebro.version的属性,该属性定义父级的版本。 当我们将project1作为其他项目的依赖项时,我们会遇到问题,我们会收到下一条错误消息:

 [ERROR] Failed to execute goal on project eFX-SB7-Pricing: Could not resolve dependencies for project com.santander.fx:eFX-SB7-Pricing:jar:3.14.10.0.4-SNAPSHOT: 
Failed to collect dependencies at com.santander.fx:eFX-SB7-Common:jar:3.14.10.0.4-SNAPSHOT:
 Failed to read artifact descriptor for com.santander.fx:eFX-SB7-Common:jar:3.14.10.0.4-SNAPSHOT:
 Could not transfer artifact com.santander.fx:eFX-SB7-Parent:pom:${cerebro.version} from/to eFX-External-Repository (http://lnx-efxbuild2.ants.ad.anplc.co.uk:8081/artifactory/ext-release-local):
 Illegal character in path at index 109: http://lnx-efxbuild2.ants.ad.anplc.co.uk:8081/artifactory/ext-release-local/com/santander/fx/eFX-SB7-Parent/${cerebro.version}/eFX-SB7-Parent-${cerebro.version}.pom -> [Help 1]

提前谢谢。

恐怕不行。参数化
值是个坏主意,因为即使您设法将其部署到远程repo,以后使用该工件的任何项目都不知道
${cerbiro.version}
应该解析什么


记住,Maven努力保持构建的可复制性。如果生成依赖于在部署时已知但依赖项未知的某个变量,则生成将不再是可复制的。

因此,主要问题是我们的依赖项与依赖项项目具有相同的父项。如果我们在没有版本变量的情况下定义了这个依赖项项目,这个问题会得到解决吗?我不确定我是否理解您的问题,但是如果您在Maven试图解决您的依赖项时不引入任何模糊性,您通常会过得更好。