如何在sbt classpath中设置hbase-site.xml

时间:2017-04-06 19:04:52

标签: sbt hbase classpath

我正在尝试从我的sbt scala项目连接HBase。我需要在类路径中设置hbase-site.xml。我怎样才能做到这一点? HBase位于虚拟机中,sbt scala项目位于我的Windows机器上。

1 个答案:

答案 0 :(得分:0)

我建议您尝试在build.sbt中添加以下依赖项设置,假设您的hbase-site.xml位于/path/to/hbase/conf/下:

unmanagedJars in Compile ++= {
    val baseDir = baseDirectory.value
    val customDirs = ("/path/to/hbase/conf") +++ ("/path/to/hadoop/conf")
    val customJars = (baseDir ** "*.jar") +++ (customDirs ** "*.jar")
    customJars.classpath
}

可以找到更多sbt图书馆管理信息here

[UPDATE]

除了报告的错误之外,在这种情况下,自定义库不应限于*.jar。请参阅以下修订设置:

unmanagedJars in Compile ++= {
    val baseDir = baseDirectory.value
    val customLibs = (baseDir ** "*.jar") +++ file("/path/to/hbase/conf") +++ file("/path/to/hadoop/conf")
    customLibs.classpath
}

以下是使用map的替代方法:

unmanagedJars in Compile <++= baseDirectory map { base =>
    val baseJars = (base ** "*.jar")
    val customLibs = baseJars +++ file("/path/to/hbase/conf") +++ file("/path/to/hadoop/conf")
    customLibs.classpath
}