2

sbtを使用してhbase0.92.2を取得する必要があります。

libraryDependencies += "org.apache.hbase" % "hbase" % "0.92.2",

しかし、アップデートを実行すると、このエラーが発生しました。

0.92.2 hbase org.slf4j#slf4j-log4j12; $ {slf4j.version}:見つかりません

pomファイルでhbase0.92.2を確認しましたが、

<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
</dependency>

pomファイルはremoveリポジトリによって提供されます。slf4jのバージョンを指定する方法がわからないので、sbtは文句を言わずに正しいバージョンを取得できます。

4

2 に答える 2

1

私は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

それもうまくいきました。

于 2012-11-08T08:18:12.950 に答える
0

次のように、pom で slf4j.version プロパティを指定する必要があります。

<properties>
     <slf4j.version>1.7.2</slf4j.version>
<properties>

プロパティ値を最新の slf4j バージョンである 1.7.2 に設定しました。状況に応じて適切なバージョンを選択する必要があります。

編集:

可能であれば、新しいバージョンの hbase を取得してみてください。それ以降のバージョンでは、ベース ビルド プロファイルで slf4j.version が宣言されています。

編集:

また、sbt には、BasicManagedProject の pomExtra と pomPostProcess を介して pom に情報を追加する方法があると考えています。

それを確認すると、slf4j.version のプロパティ ノードを追加できる場合があります。私はsbtの専門家ではないので、ここで推測しています。

于 2012-11-08T07:22:22.347 に答える