sbt play-java没有安装依赖项

时间:2015-10-29 15:16:19

标签: java playframework-2.0 dependencies sbt

我从头开始创建一个Play 2 Java项目。我正在使用Apache的httpcomponent库并将它们添加到build.sbt。当我运行sbt build时,我收到一条错误消息,指出“找不到符号”,指的是java文件中的包含。

导致问题的导入如下:

  • org.apache.http.HttpResponse
  • org.apache.http.conn.ssl.SSLConnectionSocketFactory
  • org.apache.http.conn.ssl.SSLContexts
  • org.apache.http.impl.client.CloseableHttpClient
  • org.apache.http.impl.client.HttpClientBuilder

像oracle和gson这样的其他导入工作没有问题。

检查Ivy的缓存我找到了其他版本而不是那些版本。如果我将build.sbt中的版本号设置为Ivy中的版本,则仍无法找到导入。我删除了ivy2缓存,但它也没有帮助。

我使用Intellij 14,它也找不到依赖项。它提供了将它们添加到类路径并在此后成功找到它们。但是sbt仍然无法找到它们。

build.sbt:

lazy val root = (project in file(".")).enablePlugins(PlayJava)

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
resolvers += "Local Maven Repository" at "file://" + Path.userHome.absolutePath + "/.m2/repository"
name := """Bayeu2"""

version := "1.0-SNAPSHOT"

scalaVersion := "2.11.6"

val httpComponentClient = "org.apache.httpcomponents" % "httpcomponents-client" % "4.5.+"

val httpComponentCore = "org.apache.httpcomponents" % "httpcomponents-core" % "4.4.+"

val oracle = "com.oracle" % "oracle" % "12.1.0.1"

val gson = "com.google.code.gson" % "gson" % "2.4"

libraryDependencies ++= Seq(
  javaJdbc,
  cache,
  javaWs,
  jdbc,
  httpComponentClient,
  httpComponentCore,
  oracle,
  gson
)

routesGenerator := InjectedRoutesGenerator

更新

我认为只有 org.apache.http 导入失败才是奇怪的。因此,我导入了一个不同的库来测试添加它是否有效。果然它确实如此。我目前的理论是Play使用 org.apache.http 本身或接口的其他实现,导致导致版本冲突失败。

0 个答案:

没有答案
相关问题