1

我正在使用 Grails 2.3.8

当我在服务类中更改方法的名称并尝试调用它时,会收到类似于此的错误:

org.springsource.loaded.ReloadException: ReloadableType.determineDispatcher(): expected com.SomeService$$EnhancerBySpringCGLIB$$a85275cb to be reloadable

现在我猜这是因为实际的服务类被包装在 spring 的“增强器”中,这不知何故使它无法重新加载,但我不完全确定为什么,我还没有找到任何有关此的信息。

是否有解决方法,或者我是否必须在更改方法名称时重新启动应用程序?

4

2 回答 2

0

在 Grails 2.3 中,使用 grails 命令启用重新加载:

grails -reloading run-app

或者你可以设置

grails.reload.enabled = true

在 BuildConfig.groovy

这两种方法都不是完美的。在这里查看更多参考:

https://grails.org/Auto+Reloading

Grails 2.3.0 自动重新加载不起作用

于 2014-07-22T11:29:22.687 回答
0

要修复 grails 控制台中的可重新加载警告,请执行以下步骤:

  1. 从这里下载 springloaded-1.2.0:http ://search.maven.org/remotecontent?filepath=org/springframework/springloaded/1.2.0.RELEASE/springloaded-1.2.0.RELEASE.jar
  2. 将此 jar 复制到 grails-2.3.7/lib/org.springframework/springloaded/jars
  3. 编辑 grails-2.3.7/bin/startGrails 文件,搜索 AGENT_STRING 并将 AGENT_STRING 更改为指向它而不是发行版中包含的 1.1.5。它应该如下所示:

    设置 AGENT_STRING=-javaagent:"%GRAILS_HOME:\=/%/lib/org.springframework/springloaded/jars/springloaded-1.2.0.RELEASE.jar" -noverify -Dspringloaded=\"%SPRINGLOADED_PARAMS%\"

  4. 重新启动 grails

于 2014-07-27T06:19:27.800 回答