問題

Google App Engine(SDK v1.6.3.1)、ローカル開発でStruts2(v 2.3.1.2)を開発すると、「java.security.AccessControlException:access denied`」というエラーが発生しますか?

struts 2-gae-access-denied-error、width = 743、高さ= 454]

解決策

通常は、これは `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`文を削除する必要があります。

リファレンス

2.1.8 App EngineのローカルサーバーでAccessControlExceptionを満たした]