与SBT的Google Ads API依赖关系

时间:2014-10-29 10:08:40

标签: scala sbt google-dfp

这是我的Build.scala文件。我正在尝试将一些com.google.api-ads库依赖项导入到我的项目中,并且我一直收到错误,指出“未解析的依赖项路径”。我可以看到这些库在maven回购中存在。

我尝试了各种版本,并尝试导入google-http-client依赖项,这是ads-lib和dfp-axis库的传递依赖项。

object Build extends Build {
    val commonSettings = Seq(
    version := "1.0.0",
    organization := "com.collective",
    scalaVersion := "2.11.2",
    scalacOptions ++= List(
        "-encoding", "UTF-8",
        "-target:jvm-1.7",
        "-feature",
        "-unchecked",
        "-deprecation",
        "-Xlint",
        "-Xfatal-warnings"
   )
   )

   val akkaV = "2.3.6"
   val sprayV = "1.3.2"
   val adsLibVersion = "1.30.0"

   lazy val segmentFetcher = Project("segment-fetcher", file("."))
   .settings(commonSettings: _*)
   .settings(
   name := "Segment Fetcher",
   libraryDependencies ++= Seq(
       "com.typesafe.akka"       %%  "akka-actor"           % akkaV,
       "com.typesafe.akka"       %%  "akka-testkit"         % akkaV     % "test",
       "org.specs2"              %%  "specs2-core"          % "2.3.11"  % "test",
       "io.spray"                %%  "spray-can"            % sprayV,
       "io.spray"                %%  "spray-client"         % sprayV,
       "io.spray"                %%  "spray-httpx"          % sprayV,
       "io.spray"                %%  "spray-routing"        % sprayV,
       "io.spray"                %%  "spray-testkit"        % sprayV    % "test"
       "com.google.api-ads"      %%  "ads-lib"              % adsLibVersion,
       "com.google.api-ads"      %%  "ads-lib-axis"         % adsLibVersion,
       "com.google.api-ads"      %%  "dfp-axis"             % adsLibVersion

   )
   )
}

当我运行sbt compile时,我得到com.google.api-ads依赖项的未解决的依赖项错误

> compile
[info] Updating {file:/Users/anand/IntellijProjects/segments-fetcher/}segment-fetcher...
[info] Resolving com.google.api-ads#ads-lib_2.11;1.30.0 ...
[warn]  module not found: com.google.api-ads#ads-lib_2.11;1.30.0
[warn] ==== local: tried
[warn]   /Users/anand/.ivy2/local/com.google.api-ads/ads-lib_2.11/1.30.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/google/api-ads/ads-lib_2.11/1.30.0/ads-lib_2.11-1.30.0.pom
[info] Resolving com.google.api-ads#ads-lib-axis_2.11;1.30.0 ...
[warn]  module not found: com.google.api-ads#ads-lib-axis_2.11;1.30.0
[warn] ==== local: tried
[warn]   /Users/anand/.ivy2/local/com.google.api-ads/ads-lib-axis_2.11/1.30.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/google/api-ads/ads-lib-axis_2.11/1.30.0/ads-lib-axis_2.11-1.30.0.pom
[info] Resolving com.google.api-ads#dfp-axis_2.11;1.30.0 ...
[warn]  module not found: com.google.api-ads#dfp-axis_2.11;1.30.0
[warn] ==== local: tried
[warn]   /Users/anand/.ivy2/local/com.google.api-ads/dfp-axis_2.11/1.30.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/google/api-ads/dfp-axis_2.11/1.30.0/dfp-axis_2.11-    1.30.0.pom
[info] Resolving jline#jline;2.12 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.google.api-ads#ads-lib_2.11;1.30.0: not found
[warn]  :: com.google.api-ads#ads-lib-axis_2.11;1.30.0: not found
[warn]  :: com.google.api-ads#dfp-axis_2.11;1.30.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      com.google.api-ads:ads-lib_2.11:1.30.0 (/Users/anand/IntellijProjects/segments- fetcher/project/Build.scala#L29)
[warn]        +- com.collective:segment-fetcher_2.11:1.0.0
[warn]      com.google.api-ads:ads-lib-axis_2.11:1.30.0 (/Users/anand/IntellijProjects/segments-fetcher/project/Build.scala#L29)
[warn]        +- com.collective:segment-fetcher_2.11:1.0.0
[warn]      com.google.api-ads:dfp-axis_2.11:1.30.0 (/Users/anand/IntellijProjects/segments-fetcher/project/Build.scala#L29)
[warn]        +- com.collective:segment-fetcher_2.11:1.0.0
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: com.google.api-ads#ads-lib_2.11;1.30.0: not found
[error] unresolved dependency: com.google.api-ads#ads-lib-axis_2.11;1.30.0: not found
[error] unresolved dependency: com.google.api-ads#dfp-axis_2.11;1.30.0: not found
[error] Total time: 5 s, completed 29 Oct, 2014 3:31:25 PM

1 个答案:

答案 0 :(得分:1)

%%是一个特殊的SBT运算符,它将Scala版本后缀为要从MAVEN获取的工件。尝试将%%替换为%以获取Java MAVEN依赖项(Google最有可能的依赖项)。

您可能会注意到SBT尝试获取工件

com.google.api-ads#ads-lib_2.11;1.30.0

但应取而代之的是(不带后缀2.11)

com.google.api-ads#ads-lib;1.30.0