struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From albert kao <albertk...@gmail.com>
Subject Re: Clicking helloworld link got java.lang.NoSuchMethodError: org.apache.commons.lang3.reflect.MethodUtils.getAnnotation
Date Sat, 02 Sep 2017 14:36:58 GMT
My hello-world.war has the commons lang3 3.6:
hello-world/WEB-INF/lib
hello-world/WEB-INF/lib/commons-fileupload-1.3.3.jar
hello-world/WEB-INF/lib/ognl-3.1.12.jar
hello-world/WEB-INF/lib/struts2-core-2.5.12.jar
hello-world/WEB-INF/lib/freemarker-2.3.23.jar
hello-world/WEB-INF/lib/log4j-core-2.8.2.jar
hello-world/WEB-INF/lib/log4j-api-2.8.2.jar
hello-world/WEB-INF/lib/commons-io-2.4.jar
hello-world/WEB-INF/lib/javassist-3.20.0-GA.jar
hello-world/WEB-INF/lib/commons-lang3-3.6.jar

However, the helloworld link in index.jsp did not see it.


On Sat, Aug 26, 2017 at 7:43 PM, Yasser Zamani <yasser.zamani@live.com>
wrote:

> I checked it's codes and seems ok. It has a dependency to struts 2.5.12
> which has (not optional) dependency to commons lang3 3.6. So you should
> have commons lang3 3.6 in your war lib. Do you? Or maybe you have lower
> version of commons lang3 jar in your tomcat lib? Please check both.
>
> albert kao <albertkao3@gmail.com> نوشت:
>
> >I downloaded struts-examples-master.zip from
> >https://github.com/apache/struts-examples.
> >Unzip it and run mvn.
> >
> ># mvn -version
> >Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5;
> >2015-11-10T11:41:47-05:00)
> >Maven home: /home/alkao/maven/apache-maven-3.3.9
> >Java version: 1.8.0_131, vendor: Oracle Corporation
> >Java home: /home/alkao/jdk/jdk1.8.0_131/jre
> >Default locale: en_CA, platform encoding: UTF-8
> >OS name: "linux", version: "4.4.0-21-generic", arch: "i386", family:
> "unix"
> >
> >
> >$ mvn -e clean package
> >[INFO] Error stacktraces are turned on.
> >[INFO] Scanning for projects...
> >[WARNING]
> >[WARNING] Some problems were encountered while building the effective
> model
> >for org.apache.struts:annotations:war:1.0.0
> >[WARNING] The expression ${artifactId} is deprecated. Please use
> >${project.artifactId} instead.
> >[WARNING]
> >...
> >[WARNING]
> >[WARNING] It is highly recommended to fix these problems because they
> >threaten the stability of your build.
> >[WARNING]
> >[WARNING] For this reason, future Maven versions might no longer support
> >building such malformed projects.
> >[WARNING]
> >[INFO]
> >------------------------------------------------------------------------
> >[INFO] Reactor Build Order:
> >[INFO]
> >...
> >[INFO] Building Action chaining 1.0-SNAPSHOT
> >[INFO]
> >------------------------------------------------------------------------
> >Downloading:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> plugins/maven-compiler-plugin/3.3/maven-compiler-plugin-3.3.pom
> >Downloaded:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> plugins/maven-compiler-plugin/3.3/maven-compiler-plugin-3.3.pom
> >(12 KB at 21.7 KB/sec)
> >Downloading:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> plugins/maven-plugins/27/maven-plugins-27.pom
> >Downloaded:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> plugins/maven-plugins/27/maven-plugins-27.pom
> >(0 B at 0.0 KB/sec)
> >Downloading:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> maven-parent/26/maven-parent-26.pom
> >Downloaded:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> maven-parent/26/maven-parent-26.pom
> >(0 B at 0.0 KB/sec)
> >Downloading:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> plugins/maven-compiler-plugin/3.3/maven-compiler-plugin-3.3.jar
> >Downloaded:
> >https://repo.maven.apache.org/maven2/org/apache/maven/
> plugins/maven-compiler-plugin/3.3/maven-compiler-plugin-3.3.jar
> >(46 KB at 415.4 KB/sec)
> >Downloading:
> >https://repository.apache.org/content/groups/public/org/
> apache/struts/struts2-core/2.5.12/struts2-core-2.5.12.pom
> >Downloaded:
> >https://repository.apache.org/content/groups/public/org/
> apache/struts/struts2-core/2.5.12/struts2-core-2.5.12.pom
> >(17 KB at 30.1 KB/sec)
> >...
> >[INFO]
> >------------------------------------------------------------------------
> >[INFO] BUILD SUCCESS
> >...
> >
> >
> >
> >Copy hello-world.war to Apache TomEE:
> ># cp helloworld/target/hello-world.war $CATALINA_HOME/webapps/.
> >
> >
> >In a browser accessing URL:
> >http://localhost:8080/hello-world/index.jsp
> >
> >
> >which display:
> >"Welcome To Struts 2!
> >
> >Hello World"
> >
> >
> >
> >Then clicking the 'Hello World' link got the url:
> >http://localhost:8080/hello-world/hello.action;jsessionid=
> 8EEA47306A76BAE87F665C6090D518E3
> >
> >
> >which display:
> >HTTP Status 500 - Filter execution threw an exception
> >
> >type Exception report
> >
> >message Filter execution threw an exception
> >
> >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:
> >org.apache.commons.lang3.reflect.MethodUtils.getAnnotation(Ljava/lang/
> reflect/Method;Ljava/lang/Class;ZZ)Ljava/lang/annotation/Annotation;
> >org.apache.struts2.interceptor.validation.AnnotationValidationIntercepto
> r.doIntercept(AnnotationValidationInterceptor.java:47)
> >com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(
> MethodFilterInterceptor.java:98)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.
> doIntercept(ConversionErrorInterceptor.java:139)
> >com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(
> MethodFilterInterceptor.java:98)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(
> ParametersInterceptor.java:134)
> >com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(
> MethodFilterInterceptor.java:98)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(
> ParametersInterceptor.java:134)
> >com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(
> MethodFilterInterceptor.java:98)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.
> intercept(StaticParametersInterceptor.java:199)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >org.apache.struts2.interceptor.MultiselectInterceptor.intercept(
> MultiselectInterceptor.java:69)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(
> DateTextFieldInterceptor.java:115)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >org.apache.struts2.interceptor.CheckboxInterceptor.intercept(
> CheckboxInterceptor.java:88)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >org.apache.struts2.interceptor.FileUploadInterceptor.intercept(
> FileUploadInterceptor.java:246)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(
> ModelDrivenInterceptor.java:99)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.
> intercept(ScopedModelDrivenInterceptor.java:139)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(
> ChainingInterceptor.java:157)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(
> PrepareInterceptor.java:174)
> >com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(
> MethodFilterInterceptor.java:98)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.
> java:123)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(
> ServletConfigInterceptor.java:171)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.AliasInterceptor.
> intercept(AliasInterceptor.java:201)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.
> intercept(ExceptionMappingInterceptor.java:193)
> >com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:247)
> >org.apache.struts2.factory.StrutsActionProxy.execute(
> StrutsActionProxy.java:53)
> >org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:
> 577)
> >org.apache.struts2.dispatcher.ExecuteOperations.executeAction(
> ExecuteOperations.java:81)
> >org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.
> doFilter(StrutsPrepareAndExecuteFilter.java:143)
> >note The full stack trace of the root cause is available in the Apache
> >Tomcat (TomEE)/8.5.11 (7.0.3) logs.
> >
> >Apache Tomcat (TomEE)/8.5.11 (7.0.3)
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message