代码之家  ›  专栏  ›  技术社区  ›  Veera

Struts 2在Google App Engine(Java)上的发布javax.swing.tree.TreeNode是一个受限类

  •  2
  • Veera  · 技术社区  · 16 年前

    我正在尝试使用Struts2框架来实现我的Google应用程序引擎项目。我已经正确地配置了struts框架,并在中创建了一个操作 文件格式:

    <package name="myproj" namespace="/myproj" extends="struts-default">
      <action name="login">
      <result>/login.jsp</result>
    </action>
    

    我正在尝试通过以下方式访问上述操作: http://localhost:8080/myproj/login.action . 但是我没有像预期的那样获得login.jsp页面。相反,我得到以下错误。

    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)
    

    我是否需要配置一些东西来修复上述错误并使Struts2框架在GoogleAppEngine上工作?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Shekhar    16 年前

    你可以按照我的博客教程 http://whyjava.wordpress.com/2009/08/30/creating-struts2-application-on-google-app-engine-gae/ 它包含了你需要的所有信息。

        2
  •  2
  •   Igor Artamonov    16 年前
        3
  •  1
  •   Lukasz Lenart    11 年前

      <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>${struts2.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>freemarker</artifactId>
            <groupId>org.freemarker</groupId>
          </exclusion>
        </exclusions>
      </dependency>
    
      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker-gae</artifactId>
        <version>2.3.22</version>
      </dependency>