Just don't tell them; you end up with a war/ear anyway. Doing transitive dependency management manually is a disaster waiting to happen.
Dave On Tue, Jan 24, 2012 at 3:42 PM, Emi Lu <[email protected]> wrote: > On 01/24/2012 03:32 PM, Dave Newton wrote: > >> Aren't you using Maven? >> > > Maven provides a good "dependency list" but unfortunately, my work > environment does not use it. > > Emi > > > On Tue, Jan 24, 2012 at 3:29 PM, Emi Lu <[email protected] >> <mailto:[email protected].**ca <[email protected]>>> wrote: >> >> Thank you everyone! >> >> The problem is fixed. >> >> ognl3.0.4 is a must and can be the only ognl jar! >> >> >> The following are some background info: >> ==============================**__============ >> >> . struts2.3.1.1 allows ognl3.0.2.jar + ognl3.0.2-source.jar + >> ognl3.0.1 at the same time >> . struts2.3.1.2 can only have ognl3.0.4, but remove other versions >> >> . [email protected] <mailto:[email protected]**> is very >> >> slow! I already got the author's replay but my question has not been >> shown in the mailing list yet! - still a very helpful list and i got >> almost got 100% answer for each my question :-) >> >> Happy new year all! >> >> Emi >> >> >> >> On 01/24/2012 03:08 PM, Dave Newton wrote: >> >> How did you upgrade? Looks like the wrong version of OGNL. >> >> On Tue, Jan 24, 2012 at 11:16 AM, Emi Lu >> <[email protected] >> <mailto:[email protected].**ca<[email protected]> >> > >> <mailto:[email protected]._**_ca >> >> <mailto:[email protected].**ca <[email protected]>>>> >> wrote: >> >> Good morning, >> >> Upgraded to struts2.3.1.2, but got the following exception. >> >> Could someone tell me which jar I missed please? >> >> thanks a lot! >> Emi >> >> >> java.lang.NoSuchMethodError: >> ognl.SimpleNode.isEvalChain(__**__Lognl/OgnlContext;)Z >> at >> >> com.opensymphony.xwork2.ognl._**___OgnlUtil.isEvalExpression(_** >> ___OgnlUtil.java:223) >> at >> >> com.opensymphony.xwork2.ognl._**___OgnlUtil.setValue(OgnlUtil.** >> ____java:214) >> at >> >> com.opensymphony.xwork2.ognl._**___OgnlValueStack.trySetValue(** >> ____OgnlValueStack.java:186) >> at >> >> com.opensymphony.xwork2.ognl._**___OgnlValueStack.setValue(___** >> _OgnlValueStack.java:173) >> at >> >> com.opensymphony.xwork2.ognl._**___OgnlValueStack.** >> setParameter(____**OgnlValueStack.java:151) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> ParametersInterceptor.____**setParameters(____** >> ParametersInterceptor.java:___**_292) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> ParametersInterceptor.____**doIntercept(____** >> ParametersInterceptor.java:___**_203) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> MethodFilterInterceptor.____**intercept(____** >> MethodFilterInterceptor.java:_**___98) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> ParametersInterceptor.____**doIntercept(____** >> ParametersInterceptor.java:___**_211) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> MethodFilterInterceptor.____**intercept(____** >> MethodFilterInterceptor.java:_**___98) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> StaticParametersInterceptor.__**__intercept(____** >> StaticParametersInterceptor.__**__java:190) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> org.apache.struts2.____**interceptor.____** >> MultiselectInterceptor.____**intercept(____** >> MultiselectInterceptor.java:__**__75) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> org.apache.struts2.____**interceptor.____** >> CheckboxInterceptor.intercept(**____CheckboxInterceptor.java:**90) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> org.apache.struts2.____**interceptor.____** >> FileUploadInterceptor.____**intercept(____** >> FileUploadInterceptor.java:___**_243) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> ModelDrivenInterceptor.____**intercept(____** >> ModelDrivenInterceptor.java:__**__100) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> ScopedModelDrivenInterceptor._**___intercept(____** >> ScopedModelDrivenInterceptor._**___java:141) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> ChainingInterceptor.intercept(**____ChainingInterceptor.java:_**_145) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> PrepareInterceptor.____**doIntercept(____**PrepareInterceptor.java:171) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> MethodFilterInterceptor.____**intercept(____** >> MethodFilterInterceptor.java:_**___98) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.I18nInterceptor.__** >> __intercept(I18nInterceptor.__**__java:176) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> org.apache.struts2.____**interceptor.____** >> ServletConfigInterceptor.____**intercept(____** >> ServletConfigInterceptor.java:**____164) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.AliasInterceptor._** >> ___intercept(AliasInterceptor.**____java:192) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> com.opensymphony.xwork2.____**interceptor.____** >> ExceptionMappingInterceptor.__**__intercept(____** >> ExceptionMappingInterceptor.__**__java:187) >> at >> >> com.opensymphony.xwork2.____**DefaultActionInvocation.____** >> invoke(____**DefaultActionInvocation.java:_**___249) >> at >> >> org.apache.struts2.impl.____**StrutsActionProxy.execute(____** >> StrutsActionProxy.java:54) >> at >> >> org.apache.struts2.dispatcher.**____Dispatcher.serviceAction(_** >> ___Dispatcher.java:510) >> at >> >> org.apache.struts2.dispatcher.**____ng.ExecuteOperations.____** >> executeAction(____**ExecuteOperations.java:77) >> at >> >> org.apache.struts2.dispatcher.**____ng.filter.____** >> StrutsPrepareAndExecuteFilter.**____doFilter(____** >> StrutsPrepareAndExecuteFilter.**____java:91) >> at >> >> org.apache.catalina.core.____**ApplicationFilterChain.____** >> internalDoFilter(____**ApplicationFilterChain.java:__**__235) >> at >> >> org.apache.catalina.core.____**ApplicationFilterChain.____** >> doFilter(____**ApplicationFilterChain.java:__**__206) >> at >> >> org.apache.catalina.core.____**StandardWrapperValve.invoke(__** >> __StandardWrapperValve.java:**233) >> at >> >> org.apache.catalina.core.____**StandardContextValve.invoke(__** >> __StandardContextValve.java:**191) >> at >> >> org.apache.catalina.core.____**StandardHostValve.invoke(____** >> StandardHostValve.java:127) >> at >> >> org.apache.catalina.valves.___**_ErrorReportValve.invoke(____** >> ErrorReportValve.java:102) >> at >> >> org.apache.catalina.core.____**StandardEngineValve.invoke(___** >> _StandardEngineValve.java:109) >> at >> >> org.apache.catalina.connector.**____CoyoteAdapter.service(____** >> CoyoteAdapter.java:293) >> at >> >> org.apache.coyote.http11.____**Http11Processor.process(____** >> Http11Processor.java:859) >> at >> >> org.apache.coyote.http11.____**Http11Protocol$____** >> Http11ConnectionHandler.____**process(Http11Protocol.java:__**__602) >> at org.apache.tomcat.util.net >> >> <http://org.apache.tomcat.**util.net<http://org.apache.tomcat.util.net> >> > >> <http://org.apache.tomcat.__ut**il.net <http://util.net> >> >> <http://org.apache.tomcat.**util.net<http://org.apache.tomcat.util.net> >> >>.__JIoEndpoint$__**Worker.run(__JIoEndpoint.java:**__489) >> at java.lang.Thread.run(Thread.__**__java:662) >> >> >> >> >> -- >> Emi Lu, ENCS, Concordia University, Montreal H3G 1M8 >> [email protected] >> <mailto:[email protected].**ca<[email protected]> >> > >> <mailto:[email protected]._**_ca >> <mailto:[email protected].**ca <[email protected]>>> +1 >> 514 >> 848-2424 x5884 <tel:%2B1%20514%20848-2424%__**20x5884> >> >> >> ------------------------------**____--------------------------** >> --__--__--------- >> To unsubscribe, e-mail: >> user-unsubscribe@struts.__apac**__he.org <http://apac__he.org> < >> http://apache.org> >> >> <mailto:user-unsubscribe@__str**uts.apache.org<http://struts.apache.org> >> >> >> <mailto:user-unsubscribe@**struts.apache.org<[email protected]> >> >> >> >> For additional commands, e-mail: [email protected] >> <mailto:user-help@struts.**apache.org<[email protected]> >> > >> <mailto:user-help@struts.__apa**che.org <http://apache.org> >> >> <mailto:user-help@struts.**apache.org<[email protected]> >> >> >> >> >> >> >> -- >> Emi Lu, ENCS, Concordia University, Montreal H3G 1M8 >> [email protected] >> <mailto:[email protected].**ca<[email protected]>> >> +1 514 >> 848-2424 x5884 <tel:%2B1%20514%20848-2424%**20x5884> >> >> >> > > -- > Emi Lu, ENCS, Concordia University, Montreal H3G 1M8 > [email protected] +1 514 848-2424 x5884 >

