0

オンライン ドキュメント ライブラリの開発に Jackrabbit を使用する予定です。単純な POC を開発するためjackrabbit-standalone.jarに、クラスパス内に配置すると、すべて正常に動作します。

しかし、 を開くとjackrabbit-standalone.jar、それ自体が Web プロジェクトであることがわかりました。jackrabbit-standalone.jar/WEB-INF/libクラスパスからすべてのjarファイルをコピーして保持すると、プロジェクトは再び正常に動作します。

ここでの私の懸念は、プロジェクトに余分な jar を保持したくないということです。だから私の質問は:

  • Jackrabbit リポジトリと対話するために必要な最小限の jar は何ですか?
  • エンタープライズ標準に従って、Web プロジェクトで jackrabbit を使用する最良の方法は何ですか。クラスパスでスタンドアロン jar を使用していますか、それとも必要な jar のみを使用していますか?
4

2 に答える 2

1

POC のために不要な jar を切り取りたい理由は尋ねません。

Mavenを使用していますか?その場合は、jackrabbit-core を追加するだけで、依存関係がプルダウンされます。

JCR API が必要な場合は、jackrabbit-spi2jcr も必要です。

それ以外の場合は、次のようになります (バージョン 2.6.4):

  • commons-collections-3.2.1.jar
  • commons-dbcp-1.3.jar
  • commons-pool-1.5.4.jar
  • 並行-1.3.4.jar
  • jackrabbit-api-2.6.4.jar
  • jackrabbit-core-2.6.4.jar
  • jackrabbit-jcr-commons-2.6.4.jar
  • jackrabbit-spi-2.6.4.jar
  • jackrabbit-spi-commons-2.6.4.jar
  • jackrabbit-spi2jcr-2.6.4.jar
  • jcl-over-slf4j-1.6.4.jar
  • jcr-2.0.jar
  • log4j-1.2.16.jar
  • ルセンコア-3.6.0.jar
  • slf4j-api-1.6.4.jar
  • slf4j-log4j12-1.6.4.jar
  • tika-core-1.3.jar

必要がない場合は、ロギング jar を省略することができます。内部で使用されていると思われるため、lucene-core を削除できるかどうかはわかりません。

ジャックラビットの使い方については、あなた次第です。スタンドアロン サーバーとして使用することも、私たちのように永続化レイヤーとして使用することもできます。JCR API を使用します。

于 2014-09-23T16:05:55.710 に答える
1

依存関係を管理するには、 mavenまたはgradleを使用できます。

Maven を使用している場合は、次のコマンドで依存関係ツリーを見つけることができます。

mvn dependency:tree

アーティファクト間の関係を確認します。

また、exclude 式を使用して、不要な部分を除外できます。

<dependency>
  <groupId>sample.ProjectA</groupId>
  <artifactId>Project-A</artifactId>
  <version>1.0</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>  <!-- declare the exclusion here -->
      <groupId>sample.ProjectB</groupId>
      <artifactId>Project-B</artifactId>
    </exclusion>
  </exclusions> 
</dependency>
于 2014-09-24T04:27:50.087 に答える