【问题标题】:Including a jar manifest's classpath in a grails app在 grails 应用程序中包含 jar 清单的类路径
【发布时间】:2012-10-28 03:44:11
【问题描述】:

我正在编写一个 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 路径中的所有依赖项。

【问题讨论】:

  • jar B 是某个 maven 项目的构建结果吗?

标签: java maven grails build-process


【解决方案1】:

假设您使用的是 Maven (Plexus Archiver),模块 (B) 的 POM 应该包含 4 个 3rd 方依赖项,它们可以由 Grails 解析为模块 (B) 的传递依赖项。 如果对模块 (B) 的依赖在应用程序 (A) BuildConfig.groovy 中定义为dependency,并且它是从Maven/Ivy repository(本地/远程)检索的,那么传递依赖也应该得到解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-16
    • 2018-01-20
    • 2012-02-15
    • 2023-03-18
    • 2018-04-10
    • 2023-03-04
    • 2013-12-15
    相关资源
    最近更新 更多