1

sbt (0.13.8) 无法解决以下非常简单的依赖关系build.sbt

organization := "edu.umass.cs.iesl"

name := "nn-depparse"

version := "0.1-SNAPSHOT"

scalaVersion := "2.11.7"

resolvers += "IESL snapshot repository" at "https://dev-iesl.cs.umass.edu/nexus/content/repositories/snapshots/"

libraryDependencies += "cc.factorie" %% "factorie" % "1.2-SNAPSHOT"

parallelExecution := true

出于某种原因,它解决了以下路径:

https://dev-iesl.cs.umass.edu/nexus/content/repositories/snapshots/cc/factorie/factorie_2.11/1.2-SNAPSHOT/factorie_2.11-1.2-20151007.170205-28 .${package.type}

而不是 jar 的正确路径:

https://dev-iesl.cs.umass.edu/nexus/content/repositories/snapshots/cc/factorie/factorie_2.11/1.2-SNAPSHOT/factorie_2.11-1.2-20151007.170205-28.jar

似乎${package.type}被解释为文字文件扩展名,而不是变量的内容package.type,但我不知道为什么;我正在使用最简单的构建配置!据我所知,我周围没有任何奇怪的 sbt 配置(或者根本没有——我检查~/.sbt过,并且我尝试在多台机器上运行)。

4

2 回答 2

4

正如@kawty 所说,看起来有pom问题的格式不正确,但是在修复您的 sbt 脚本方面,您可以将依赖行更改为:

libraryDependencies += "cc.factorie" %% "factorie" % "1.2-SNAPSHOT" artifacts( Artifact("factorie", "", "jar"))

手动指定所需的工件的扩展名。

于 2015-10-23T14:17:33.483 回答
1

factory_2.11-1.2-20151007.170205-28.pom中找到以下行:

<packaging>${package.type}</packaging>

我想 sbt 使用这个设置来获取工件。

之前的 .pom 文件中,它具有:

<packaging>jar</packaging>

所以,也许这是一个损坏的构建。

于 2015-10-23T03:09:32.683 回答