3

我正在编写一个 grails 应用程序 (A),它使用来自另一个项目的 jar (B)。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 应用程序无法解析 B jar 中的类。它给出了一个:

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 个 3rd 方依赖项,它们可以被 Grails 解析为模块 (B) 的传递依赖项。如果在应用程序 (A) BuildConfig.groovy 中将对模块 (B) 的依赖项定义为依赖项,并且它是从Maven/Ivy 存储库(本地/远程)中检索的,那么传递依赖项也应该被解析。

于 2012-10-28T08:19:28.813 回答