具有变量的 maven 依赖项的 Ivy/sbt 错误,是不是有修复?
Posted
技术标签:
【中文标题】具有变量的 maven 依赖项的 Ivy/sbt 错误,是不是有修复?【英文标题】:Ivy/sbt bug for maven dependency that has variables, is there a fix yet?具有变量的 maven 依赖项的 Ivy/sbt 错误,是否有修复? 【发布时间】:2014-12-24 10:38:08 【问题描述】:你可能有一个像我一样的设置,一个 maven2 构建,但不确定这是否会有所作为:
parent/pom.xml
parent/project/pom.xml <-depends on spring.version in parent
那么你的 sbt 构建有:
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] :: org.springframework#spring-core;$spring.version: not found
[error] unresolved dependency: org.springframework#spring-core;$spring.version: not found
起初,谷歌搜索了几个小时,我找到了解决方法: https://groups.google.com/forum/#!topic/simple-build-tool/3OkYLXzHwG4
后来当我改变了我祝福构建的方式时,我不得不搜索我的浏览器历史才能再次找到它!
有没有更好的方法让其他人远离这个兔子洞?
编辑:前面提到的线程:
mvn help:effective-pom -P scala2.9.2 -Doutput=tmp.pom
mvn -f tmp.pom clean source:jar scala:doc-jar package deploy
我能够逃脱:
mvn help:effective-pom -Doutput=effective.pom && mvn -f effective.pom source:jar deploy
【问题讨论】:
【参考方案1】:使用 sbt 1.3.13,我能够使用以下项目运行 update
而不会出现错误:
ThisBuild / scalaVersion := "2.13.2"
ThisBuild / version := "0.1.0-SNAPSHOT"
ThisBuild / organization := "com.example"
ThisBuild / organizationName := "example"
lazy val root = (project in file("."))
.settings(
name := "parentpom",
libraryDependencies += "com.googlecode.mapperdao" % "mapperdao" % "1.0.0.rc15-2.9.2"
)
我猜 Coursier 可以更好地处理 POM 文件。
【讨论】:
以上是关于具有变量的 maven 依赖项的 Ivy/sbt 错误,是不是有修复?的主要内容,如果未能解决你的问题,请参考以下文章
具有依赖项的 Maven2 + JMeter + JUnit
具有 FreeMarker 2.3.23 依赖项的 Maven 项目无法编译