什么类路径用于执行 Grails' application.groovy
What classspath is used for executing Grails' application.groovy
什么 classspath 用于 compiling/executing Grails 的 application.groovy?
在我的 application.groovy 中,我实例化了一个自定义 class(包含在依赖项的 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
)添加到适当的 class 路径,但我不确定是哪一个。
我正在使用 gradle,并且在我的 build.gradle 文件中包含以下内容,以引入包含 CustomClass
的依赖项:
buildscript {
dependencies {
classpath "com.example:custom-module:1.1"
// ...
dependencies {
compile group: 'com.example', name: 'custom-module', version:'1.1'
}
grails-app/conf/application.groovy
文件不应引用应用程序 类,因为它是在编译前读取的。如果您希望在配置中引用应用程序 类,请使用 grails-app/conf/runtime.groovy
什么 classspath 用于 compiling/executing Grails 的 application.groovy?
在我的 application.groovy 中,我实例化了一个自定义 class(包含在依赖项的 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
)添加到适当的 class 路径,但我不确定是哪一个。
我正在使用 gradle,并且在我的 build.gradle 文件中包含以下内容,以引入包含 CustomClass
的依赖项:
buildscript {
dependencies {
classpath "com.example:custom-module:1.1"
// ...
dependencies {
compile group: 'com.example', name: 'custom-module', version:'1.1'
}
grails-app/conf/application.groovy
文件不应引用应用程序 类,因为它是在编译前读取的。如果您希望在配置中引用应用程序 类,请使用 grails-app/conf/runtime.groovy