本地工作的web-app在GAE上抛出VerifyError

时间:2013-10-20 09:06:56

标签: java google-app-engine scala gwt

我的基于GWT的web-app在其服务器端使用scala-compiler.jar(2.10.3)来提供用户在他/她的浏览器中输入的Scala代码的动态编译和执行。

它在本地工作正常使用GAE SDK 1.8.4 - 当我调用服务方法并传递一些简单的脚本时,它编译,执行并记录生成的字符串“Hello,Adeal!”:

final Object o = AdalModuleEval.eval("class C { override def toString = \"Hello, Adeal!\" }; new C()");
log.warning(o.toString());

但是在部署到Google App Engine服务器后,相同的代码会引发我的注意:

exception: java.lang.VerifyError: Bad type on operand stack in method sun.reflect.generics.repository.ClassRepository.getSuperclass()Ljava/lang/reflect/Type; at offset 1

您可以看到here

的完整堆栈跟踪

这真的令人失望,我非常感谢有关如何解决此问题的任何建议。

提前致谢,

亚历

1 个答案:

答案 0 :(得分:0)

你可能已经解决了这个或者下面的情况不是你的情况,但对我来说这是一种捕捉这样的例外的方法:

try {
   ...
} catch (ServiceException | IOException e) {
   e.printStackTrace();
}

一旦我在每个Exception中放置一个catch,一切正常