3

別のプロジェクトのjar(B)を使用するgrailsアプリケーション(A)を作成しています。jar Bには、実行時に必要な内部依存関係があります。マニフェストは次のとおりです。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: robertburke
Build-Jdk: 1.6.0_37
Class-Path: lucene-core-3.3.0.jar postgresql-8.4-702.jdbc4.jar solr-lu
 cene-snowball-1.3.0.jar solr-lucene-core-1.3.0.jar

grailsアプリケーションは、Bjar内のクラスを解決できません。それは与える:

java.lang.ClassNotFoundException: org.tartarus.snowball.ext.EnglishStemmer

依存関係のクラスパスをクラスパスに含めるようにgrailsを取得する方法はありますか?jar Bの依存関係をgrailsアプリに明示的に追加せずにそれを行う方法はありますか?

編集:カタツムリのように依存関係を保持するクラスパスをjar Bに含めることで、grailsアプリにWARのパスのすべての依存関係が含まれるようになりました。

4

1 に答える 1

0

Maven(Plexus Archiver)を使用していると仮定すると、モジュール(B)のPOMには4つのサードパーティの依存関係が含まれている必要があり、モジュール(B)の推移的な依存関係としてGrailsによって解決できます。モジュール(B)への依存関係がアプリケーション(A)BuildConfig.groovyで依存関係として定義されており、 Maven / Ivyリポジトリー(ローカル/リモート)から取得されている場合は、推移的な依存関係も解決する必要があります。

于 2012-10-28T08:19:28.813 に答える