1

什么类路径用于编译/执行 Grails 的 application.groovy?

在我的 application.groovy 中,我实例化了一个自定义类(包含在依赖项的 jar 中)并将其分配给配置属性之一,如下所示:

environments {
    production {
        configProperty = new com.example.CustomClass()

我最近将我的应用程序从 Grails 3.1.5 升级到了 3.2.2,现在这不再有效。

当我尝试运行时收到如下错误grails run-app

Error occurred running Grails CLI: startup failed:
script14788250424471597489853.groovy: 43: unable to resolve class com.example.CustomClass
 @ line 43, column 33.
        configProperty = new com.example.CustomClass()

(请注意,代码在production块中,但我正在开发中运行(run-app)。这让我觉得是这个脚本的编译失败了。)

所以我猜我只需要将我的依赖项(包含CustomClass)添加到适当的类路径中,但我不确定是哪一个。

我正在使用 gradle,并在我的 build.gradle 文件中有以下内容,以引入包含以下内容的依赖项CustomClass

buildscript {
    dependencies {
        classpath "com.example:custom-module:1.1"
// ...
dependencies {
    compile group: 'com.example', name: 'custom-module', version:'1.1'
}
4

1 回答 1

2

grails-app/conf/application.groovy文件不应引用应用程序类,因为它是在编译之前读取的。如果您希望在配置中引用应用程序类,请使用grails-app/conf/runtime.groovy

于 2016-11-11T08:32:02.977 回答