Grails 项目在运行时不会从其自己的 lib 目录中的库中解析依赖关系
Posted
技术标签:
【中文标题】Grails 项目在运行时不会从其自己的 lib 目录中的库中解析依赖关系【英文标题】:Grails project does not resolve dependencies during runtime from libraries inside its own lib directory 【发布时间】:2012-11-26 04:11:17 【问题描述】:女士们,先生们,
我有一个非常简单的 grails 应用程序,我需要通过直接类依赖 API 调用来调用我们公司的平台 API。
我有一个悬而未决的问题here on Stack。它与 Grails 项目的依赖管理有关。虽然我无法解决这个问题,但我将我们的内部工件转储到 grails 项目的 lib 目录中。我们的工件内置了 Ivy 依赖文件,所以我只指定了“根”jar,希望 Grails 依赖管理能够使用传递依赖解决其余的问题。我为依赖项指定了“运行时”。
应用程序似乎很好地解决了依赖关系,但在一定程度上。例如, 它解析 jar A 中的 A、B、C、D 等类。它解析 jar B 中的 A 类,但不解析 jar B 中的 B 类。B 类在 A 类中被引用,但我收到一条“ClassNotFoundException”消息B类。
问题: 我在为项目指定依赖项时做错了什么?为什么 Grails 运行时资助 jar B 中的 A 类而不资助 B 类?我可以很容易地在 Eclipse 中查看 B 类,它会在与 A 类完全相同的 jar 中找到它。什么给出了?
干杯,
【问题讨论】:
【参考方案1】:每当您将新罐子放入lib
时,您都必须这样做
grails compile --refresh-dependencies
让 Grails 看到它。
【讨论】:
您可能还需要运行 'grails clean'。以上是关于Grails 项目在运行时不会从其自己的 lib 目录中的库中解析依赖关系的主要内容,如果未能解决你的问题,请参考以下文章