2015-09-23 66 views
0

我有一個Struts2應用程序什麼與Eclipse工作正常,我也試圖在普通的Tomcat6 web服務器(複製.war文件到webapps文件夾)。Websphere上的Struts2

但部署WebSphere Application Server上的.war文件後,在應用程序中提交一個表單時收到以下錯誤:

任何想法如何解決呢?

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 
javax.servlet.ServletException: Filter execution threw an exception 



root cause 
java.lang.NoSuchMethodError: ognl/SimpleNode.isEvalChain(Lognl/OgnlContext;)Z 
    com.opensymphony.xwork2.ognl.OgnlUtil.isEvalExpression(OgnlUtil.java:223) 
    com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:214) 
+0

類路徑中存在一些舊的OGNL依賴項,將其刪除。 –

+0

生成war文件時,war文件包含一個ognl-3.0.5.jar文件。我試圖排除依賴,但我收到了同樣的問題。 struts2-core包含OGNL依賴。 在Tomcat6廣告Tomcat7服務器上,它可以正常運行。 – mlorika

+0

不要排除'ognl-3.0.5'。在websphere中配置應用程序庫的應用程序。 –

回答

0

geronimo-web.xml文件已被添加到根文件夾中生成的war文件

的APP_ID是我的應用程序。

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"> 
    <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"> 
     <dep:moduleId> 
      <dep:groupId>default</dep:groupId> 
      <dep:artifactId>App_ID</dep:artifactId> 
      <dep:version>1.0</dep:version> 
      <dep:type>war</dep:type> 
     </dep:moduleId> 
     <dep:hidden-classes> 
      <dep:filter>ognl</dep:filter> 
      <!-- 
      <dep:filter>org.apache.axis2</dep:filter> 
      <dep:filter>javax.xml.bind</dep:filter> 
      <dep:filter>javax.xml.ws</dep:filter> 
      --> 
     </dep:hidden-classes> 
    </dep:environment> 
    <context-root>/App_ID</context-root> 
</web-app>