我需要使用sbt:
获得hbase 0.92.2libraryDependencies += "org.apache.hbase" % "hbase" % "0.92.2",
但是当我运行更新时出现了这个错误:
0.92.2 hbase org.slf4j #slf4j-log4j12; $ {slf4j.version}:未找到
我检查了pom文件中的hbase 0.92.2并且它有
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
pom文件由remove repository提供。我不知道如何指定slf4j的版本,所以sbt可以在没有抱怨的情况下获得正确的版本。
答案 0 :(得分:1)
我创建的build.sbt
只有一行:
libraryDependencies += "org.apache.hbase" % "hbase" % "0.92.2"
然后我跑了:
sbt -Dslf4j.version=1.4.3 update
结果很好!
我甚至试过这个:
sbt -Dslf4j.version=1.6.6 update
这也有效。
答案 1 :(得分:0)
你需要在pom中指定slf4j.version属性,如下所示:
<properties>
<slf4j.version>1.7.2</slf4j.version>
<properties>
我将属性值设置为1.7.2,这是最新的slf4j版本。您应该根据自己的情况选择合适的版本。
编辑:
如果可以,请尝试抓取更高版本的hbase。更高版本在基本构建配置文件中声明了slf4j.version。
编辑:
我也相信sbt有办法通过pomExtra和BasicManagedProject的pomPostProcess向pom添加信息。
检查一下,你可以为slf4j.version添加属性节点。我在这里猜测,因为我不是专家。