Gradle无法解析依赖关系
在我的build.gradle文件中,依赖项中有一行:Gradle无法解析依赖关系,gradle,dependency-management,Gradle,Dependency Management,在我的build.gradle文件中,依赖项中有一行: compile group: 'org.jboss.seam.validation', name: 'seam-validation-api', version:'3.1.0.Final' 当我尝试运行项目时,例如“测试”任务,我得到一个错误: > Could not resolve org.jboss.seam.validation:seam-validation-api:3.1.0.Final. Required by:
compile group: 'org.jboss.seam.validation', name: 'seam-validation-api', version:'3.1.0.Final'
当我尝试运行项目时,例如“测试”任务,我得到一个错误:
> Could not resolve org.jboss.seam.validation:seam-validation-api:3.1.0.Final.
Required by:
com.smspl.mc5:mc5-web-ui:1.0.0-SNAPSHOT
com.smspl.mc5:mc5-web-ui:1.0.0-SNAPSHOT > com.smspl.mc5:mc5-common-rest:1.0.0-SNAPSHOT
> Could not parse POM /Users/amorfis/.m2/repository/org/jboss/seam/validation/seam-validation-api/3.1.0.Final/seam-validation-api-3.1.0.Final.pom
> Unable to resolve version for dependency 'javax.enterprise:cdi-api:jar'
> Could not parse POM https://nexus.softwaremill.com/content/groups/smlcommon-repos/org/jboss/seam/validation/seam-validation-api/3.1.0.Final/seam-validation-api-3.1.0.Final.pom
> Unable to resolve version for dependency 'javax.enterprise:cdi-api:jar'
我知道问题在于seam验证api pom中没有指定“javax.enterprise:cdiapi:jar”的版本。它是在它的父级中指定的,gradle可能在理解它时遇到了一些问题。seam验证api pom的父部分如下所示:
<parent>
<groupId>org.jboss.seam.validation</groupId>
<artifactId>seam-validation-parent</artifactId>
<version>3.1.0.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
org.jboss.seam.validation
seam验证父项
3.1.0.1最终版本
../pom.xml
javax.enterprise
CDIAPI
假如
我的直觉告诉我问题的部分原因。我还试图通过添加新的build.gradle“dependencies”行来明确地添加这个父依赖项,但没有任何运气
有人知道这个解决方案吗
更新:在父pom中:
<groupId>org.jboss.seam.validation</groupId>
<artifactId>seam-validation-parent</artifactId>
<packaging>pom</packaging>
<version>3.1.0.Final</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>seam-bom</artifactId>
<version>${seam.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
org.jboss.seam.validation
seam验证父项
聚甲醛
3.1.0.1最终版本
org.jboss.seam
接缝bom表
${seam.version}
聚甲醛
进口
以下是对该问题的一些研究(仅研究,而非解决方案):
我的建议是:联系seam框架的开发人员,让他们修复依赖关系。您能发布父POM的相关部分吗?是否在父POM中的
下指定了cdi api的版本?是否下载过父POM?是的,验证api的版本(我想这就是你的意思?)在
下指定,并且父POM已下载,但我怀疑gradle是否下载了。可能是maven。(我试图将这个模块从maven移动到gradle)我指的是组IDjavax.enterprise
和工件IDCDIAPI
的依赖关系。这就是Gradle无法解析其版本的模块(请参阅错误消息)。好的,我现在明白了。谢谢我添加了seam验证api pom片段,您可以看到这里并没有给出cdi api的版本。它也不在父pom中。seam验证父项中指定了bom,但。。。我也没有在bom中找到CDIAPI版本。想知道maven是从哪里拿的吗?没有。在gradle中修复pom之前,pom编辑似乎是唯一的选项。