问题
在本地开发的Google App Engine(SDK v1.6.3.1)上开发Struts2(v 2.3.1.2),遇到“ java.security.AccessControlException: access denied
”错误?
解
通常,这是因为您在struts.xml
文件中打开了“ devMode on ”。
档案:struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
//...
</struts>
当您打开devMode
时,Struts2将尝试写入磁盘以进行日志记录,但GAE拒绝了它,它只能写入Google数据存储区。
要解决此问题,必须删除struts.xml
文件中的devMode
语句。
注意
简而言之,GAE环境中不支持Struts 2devMode
。