Dav*_*ave 0 java google-app-engine spring-mvc
今天我去部署了一个我为Google App Engine创建的java应用程序,我被一些非常无用的错误消息所阻止.
Invocation of init method failed; nested exception is java.lang.SecurityException:
java.lang.IllegalAccessException: Reflection is not allowed on private
java.lang.Throwable java.lang.Throwable.cause
Run Code Online (Sandbox Code Playgroud)
接下来是一个没有提到我的任何类的堆栈跟踪:我的代码中没有任何一行可以指向它.
此应用程序使用Objectify和Spring MVC,并在我的本地开发服务器(App Engine版本1.7.4)上正常工作.
我已经完成了我的代码并从我使用的任何异常类中删除了对"cause"的任何提及.我还有这个问题.此外,我的控制器只能抛出一种类型的异常,这再次没有提到原因.
有任何想法吗?
PS我发现了这个讨论,但不是很有用.
如果其他人遇到类似的问题,他们与在appengine服务器上运行沙箱安全限制的代码有关,但在本地开发服务器上运行时没有这些限制.
沙箱限制不允许反映私有变量.
就我而言,我正在使用Gson进行序列化,它以难以调试的方式大量使用反射.我仍然不知道它在哪里或为什么试图对它在堆栈跟踪中讨论的Throwable事物进行反思.无论如何,当我转而使用杰克逊时,我的所有问题都消失了.
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |