在 sbt 项目中使用来自 Maven Central 的处理库时出现奇怪的错误

Strange error when using processing library from maven central in a sbt project

我想在 sbt 项目中使用 processing java library,所以我在 build.sbt 中添加了一行:

name := "testJson"

version := "1.0"

scalaVersion := "2.11.7"

//libraryDependencies += "io.spray" %%  "spray-json" % "1.3.2"

libraryDependencies += "org.processing" % "processing-complete" % "3.0b5"

我收到一个错误:

[warn] 
[FAILED ] org.processing#processing-complete;3.0b5!processing-complete.jar: (0ms) 
[warn] ==== local: tried 
[warn] /Users/kaiyin/.ivy2/local/org.processing/processing-complete/3.0b5/jars/processing-complete.jar 
[warn] ==== activator-launcher-local: tried 
[warn] /Users/kaiyin/.activator/repository/org.processing/processing-complete/3.0b5/jars/processing-complete.jar 
[warn] ==== activator-local: tried 
[warn] /Users/kaiyin/opt/activator-dist-1.3.5/repository/org.processing/processing-complete/3.0b5/jars/processing-complete.jar 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/org/processing/processing-complete/3.0b5/processing-complete-3.0b5.jar 
[warn] ==== typesafe-releases: tried 
[warn] http://repo.typesafe.com/typesafe/releases/org/processing/processing-complete/3.0b5/processing-complete-3.0b5.jar 
[warn] ==== typesafe-ivy-releasez: tried 
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.processing/processing-complete/3.0b5/jars/processing-complete.jar 
[warn] 
[FAILED ] org.processing#processing-complete;3.0b5!processing-complete.jar(src): (0ms) 
[warn] ==== local: tried 
[warn] /Users/kaiyin/.ivy2/local/org.processing/processing-complete/3.0b5/srcs/processing-complete-sources.jar 
[warn] ==== activator-launcher-local: tried 
[warn] /Users/kaiyin/.activator/repository/org.processing/processing-complete/3.0b5/srcs/processing-complete-sources.jar 
[warn] ==== activator-local: tried 
[warn] /Users/kaiyin/opt/activator-dist-1.3.5/repository/org.processing/processing-complete/3.0b5/srcs/processing-complete-sources.jar 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/org/processing/processing-complete/3.0b5/processing-complete-3.0b5-sources.jar 
[warn] ==== typesafe-releases: tried 
[warn] http://repo.typesafe.com/typesafe/releases/org/processing/processing-complete/3.0b5/processing-complete-3.0b5-sources.jar 
[warn] ==== typesafe-ivy-releasez: tried 
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.processing/processing-complete/3.0b5/srcs/processing-complete-sources.jar 
[warn] 
[FAILED ] org.processing#processing-complete;3.0b5!processing-complete.jar(doc): (0ms) 
[warn] ==== local: tried 
[warn] /Users/kaiyin/.ivy2/local/org.processing/processing-complete/3.0b5/docs/processing-complete-javadoc.jar 
[warn] ==== activator-launcher-local: tried 
[warn] /Users/kaiyin/.activator/repository/org.processing/processing-complete/3.0b5/docs/processing-complete-javadoc.jar 
[warn] ==== activator-local: tried 
[warn] /Users/kaiyin/opt/activator-dist-1.3.5/repository/org.processing/processing-complete/3.0b5/docs/processing-complete-javadoc.jar 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/org/processing/processing-complete/3.0b5/processing-complete-3.0b5-javadoc.jar 
[warn] ==== typesafe-releases: tried 
[warn] http://repo.typesafe.com/typesafe/releases/org/processing/processing-complete/3.0b5/processing-complete-3.0b5-javadoc.jar 
[warn] ==== typesafe-ivy-releasez: tried 
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.processing/processing-complete/3.0b5/docs/processing-complete-javadoc.jar 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: FAILED DOWNLOADS :: 
[warn] :: ^ see resolution messages for details ^ :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: org.processing#processing-complete;3.0b5!processing-complete.jar 
[warn] :: org.processing#processing-complete;3.0b5!processing-complete.jar(src) 
[warn] :: 

这是什么意思,如何解决?

您没有定义任何解析器。

您可能想尝试将此行添加到您的 build.sbt:

resolvers += Resolver.sonatypeRepo("releases")

或查看此页面以更详细地解释解析器:http://www.scala-sbt.org/0.13/docs/Resolvers.html

尽管 pom 存在,但工件不存在。请参阅 http://search.maven.org/#search%7Cga%7C1%7Corg.processing。在这里您可以看到哪些工件可用于哪些 poms。我怀疑核心神器可能就是你想要的。

The processing-complete module 只是一个元文件,描述了 processing.org 提供的模块。我原以为 sbt/ivy 能够解析 pom 文件中定义的模块。但是,如果它没有(我没有让 sbt 下载 pom 以外的任何东西),我建议您单独添加实际模块:

libraryDependencies += "org.processing" % "core" % "3.0b5"

libraryDependencies += "org.processing" % "net" % "3.0b5"

libraryDependencies += "org.processing" % "video" % "3.0b5"

libraryDependencies += "org.processing" % "serial" % "3.0b5"

libraryDependencies += "org.processing" % "pde" % "3.0b5"

libraryDependencies += "org.processing" % "pdf" % "3.0b5"

这对我来说很顺利。