找不到SBT模块模块:com.microsoft.sqlserver #sqljdbc4; 4.0

时间:2017-11-02 21:33:04

标签: scala sbt

我有一个使用IntelliJ开发的Scala应用程序。 当我尝试使用sbt打包它时,我收到以下错误,它抱怨我在build.sbt文件中包含的sqljdbc4。

> package
[info] Updating {file:/C:/Users/jthomas1/IdeaProjects/AvroToParquet/}avrotoparquet...
[info] Resolving com.microsoft.sqlserver#sqljdbc4;4.0 ...
[warn]  module not found: com.microsoft.sqlserver#sqljdbc4;4.0
[warn] ==== local: tried
[warn]   C:\Users\jthomas1\.ivy2\local\com.microsoft.sqlserver\sqljdbc4\4.0\ivys\ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/microsoft/sqlserver/sqljdbc4/4.0/sqljdbc4-4.0.pom
[warn] ==== local-preloaded-ivy: tried
[warn]   C:\Users\jthomas1\.sbt\preloaded\com.microsoft.sqlserver\sqljdbc4\4.0\ivys\ivy.xml
[warn] ==== local-preloaded: tried
[warn]   file:/C:/Users/jthomas1/.sbt/preloaded/com/microsoft/sqlserver/sqljdbc4/4.0/sqljdbc4-4.0.pom
[info] Resolving jline#jline;2.11 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.microsoft.sqlserver#sqljdbc4;4.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]          com.microsoft.sqlserver:sqljdbc4:4.0 (C:\Users\jthomas1\IdeaProjects\AvroToParquet\build.sbt#L13-14)
[warn]            +- default:avrotoparquet_2.11:0.1
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: com.microsoft.sqlserver#sqljdbc4;4.0: not found
[error] Total time: 4 s, completed Nov 2, 2017 5:18:51 PM

来自build.sbt文件

name := "AvroToParquet"

version := "0.1"

scalaVersion := "2.11.1"

libraryDependencies += "com.microsoft.sqlserver" 
% "sqljdbc4" % "4.0" 
% "runtime"


libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "1.6.1",
  "org.apache.spark" %% "spark-sql" % "1.6.1",
  "org.apache.spark" %% "spark-hive" % "1.6.1"
)

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您可以添加

resolvers += "Clojars" at "http://clojars.org/repo/"

到你的build.sbt,它应该解决问题。

请注意,已经有similar questions,并且在人们写的答案中

  

不幸的是,Microsoft并未通过任何maven存储库提供此工件。您需要从Microsoft网站下载jar,然后手动将其安装到本地maven存储库中。

因此,如果您不想使用上面的Clojars存储库,您可以从Microsoft下载此jar并将其放在您的sbt项目的lib/文件夹中。

另请参阅this answer,它引用Maven Central中此驱动程序的另一个工件。

答案 1 :(得分:0)

maven中央cplusplus.com reference page中列出了Microsoft Sql Server JDBC。

该页面上有一个标签,列出了此罐子的sbt信息:

libraryDependencies += "com.microsoft.sqlserver" % "mssql-jdbc" % "7.4.1.jre12"