title: Struts 2 issue on Google App Engine (Java) - javax.swing.tree.TreeNode is a restricted class
body: <p>I'm trying to use Struts 2 framework for my Google App Engine project. I have configured the struts framework properly and I have created an action in <em>struts-config.xml</em> file as:</p>
  
  <pre><code>&lt;package name="myproj" namespace="/myproj" extends="struts-default"&gt;
    &lt;action name="login"&gt;
    &lt;result&gt;/login.jsp&lt;/result&gt;
  &lt;/action&gt;
  </code></pre>
  
  <p>And I'm trying to access the above action through: <a href="http://localhost:8080/myproj/login.action" rel="nofollow noreferrer">http://localhost:8080/myproj/login.action</a>. But I'm not getting my login.jsp page as expected. Instead I'm getting the following error.</p>
  
  <pre><code>HTTP ERROR 500
  
  Problem accessing /myproj/login.action. Reason:
  
      java.lang.NoClassDefFoundError: javax.swing.tree.TreeNode is a restricted class. Please see the Google  App Engine developer's guide for more details.
  Caused by:
  
  javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax.swing.tree.TreeNode is a restricted class. Please see the Google  App Engine developer's guide for more details.
      at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
      at org.apache.jasper.runtime.PageContextImpl.access$1100(PageContextImpl.java:64)
      at org.apache.jasper.runtime.PageContextImpl$12.run(PageContextImpl.java:745)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:743)
      at org.apache.jsp.getin_jsp._jspService(getin_jsp.java:102)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
      at com.google.appengine.tools.development.PrivilegedJspServlet.access$101(PrivilegedJspServlet.java:23)
      at com.google.appengine.tools.development.PrivilegedJspServlet$2.run(PrivilegedJspServlet.java:59)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java:57)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
  </code></pre>
  
  <p>Is there something that I need to configure to fix the above error and make Struts 2 framework work on Google App Engine?</p>