Hi all,
My ear file contains two wars, which requires to use two different versions of spring.jar. The layout is
The application can be started up correct. (I'm using WebSphere 6.0.2.11.) But when I come to a page with spring <form:form> being used. It gives me the exception:Code:App.ear -> app1-ejb.jar (manifest point to 1.2 jar) -> app1.war (manifest point to 1.2 jar) -> app2-ejb.jar (manifest point to 2.0.1 jar) -> app2.war (manifest point to 2.0.1 jar) -> spring-1.2.jar -> spring-2.0.1.jar
The trace log shows that the call is from AbstractFormTag.evaluate().Code:java.lang.NoSuchMethodError: org.springframework.web.util.ExpressionEvaluationUtils: method evaluate(Ljava/lang/String;Ljava/lang/String;Ljavax/servlet/jsp/PageContext;)Ljava/lang/Object; not found
Does it mean that it is loading different version of spring?? Because:
- AbstractFormTag exists in Spring 2.0.1 only.
- ExpressionEvaluationUtils.evaluate(String,String,P ageContext) exists in Spring 2.0.1 but not 1.2
Currently all jsp in both wars config the taglib like this:
I tried to change to real uri (www.springframework.org/tags) but it seems that Websphere cannot recognize it.Code:<%@ taglib prefix="spring" uri="/WEB-INF/spring.tld" %> <%@ taglib prefix="form" uri="/WEB-INF/spring-form.tld" %>
Thank you for you attention.


Reply With Quote