由于糟糕的公共pom文件,SBT将无法解析fakehttpserver依赖关系

时间:2011-12-27 22:50:16

标签: scala sbt

我正在尝试在基于sbt 0.11.0的项目中使用此fake http server项目。不幸的是,其中一个依赖项给出了以下错误:

[error]     public: bad organisation found in http://repo1.maven.org/maven2/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.pom: expected='org.apache.commons' found='commons-io'
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.apache.commons#commons-io;1.3.2: java.text.ParseException: inconsistent module descriptor file found in 'http://repo1.maven.org/maven2/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.pom': bad organisation: expected='org.apache.commons' found='commons-io'; 
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/home/project_location/}default-db401d/*:update: sbt.ResolveException: unresolved dependency: org.apache.commons#commons-io;1.3.2: java.text.ParseException: inconsistent module descriptor file found in 'http://repo1.maven.org/maven2/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.pom': bad organisation: expected='org.apache.commons' found='commons-io'; 

据我所知,这可以通过要求常春藤不检查pom文件的一致性来解决(Maven默认设置此设置)。我不知道如何在sbt中解决这个问题。我试过了

ivyValidate := false

但这没有效果。

我是否使用此设置在正确的轨道上,是否可以关闭此设置?

1 个答案:

答案 0 :(得分:3)

您可以尝试排除此依赖关系并手动包含它:

"se.dannej" % "fakehttpserver" % "0.1.0" exclude("org.apache.commons", "commons-io")

"commons-io" % "commons-io" % "another version"

甚至下载commons-io jar并将其推送到lib目录。