脚本修改后,在部署的Web应用程序中发生Groovy强制转换异常

时间:2013-09-19 15:56:33

标签: java web-applications groovy classloader

之前我问了一个类似的问题,但想要澄清一下GroovyScriptEngine的机制以及如何执行类加载。我有一个Vaadin Web应用程序,其中包含WEB-INF中的groovy类。 webapp通过GroovyScriptEngine加载UI逻辑。以下是导致错误的一系列事件:

  1. 将战争部署到tomcat&启动服务器,应用程序按预期运行
  2. 我对位于爆炸的WEB-INF文件夹中的groovy文件进行了无关紧要的更改(例如,备注)
  3. 刷新页面,GSE显然使用GroovyCastException重新加载类和应用程序炸弹:无法将类“com.company.myclass”的对象“com.company.myclass@7cde31f8”强制转换为“com.company.myclass”类。
  4. 我知道这可能是类加载器问题。建议?我认为GroovyScriptEngine的重点在于它处理热门编辑的groovy类而无需重新启动容器。

1 个答案:

答案 0 :(得分:1)

确定这是ClassLoader问题。 如果您需要重新加载类(我想更快开发),请尝试JRebel。适用于groovy和tomcat。