我正在编写一个 Grails 应用程序 (A),它使用另一个项目中的 jar (B)。 jar B 具有运行时所需的内部依赖项。这是它的 list :
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 路径中的所有依赖项。
最佳答案
假设您使用 Maven (Plexus Archiver),模块 (B) 的 POM 应包含 4 个第 3 方依赖项,并且它们可以由 Grails 解析为模块 (B) 的传递依赖项。 如果对模块 (B) 的依赖在应用程序 (A) BuildConfig.groovy 中定义为 dependency它是从 Maven/Ivy repository 检索的(本地/远程)比传递依赖关系也应该得到解决。
关于java - 在 grails 应用程序中包含 jar list 的类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13106197/