But it's impossible! Your my_tomcat.log must have at least one load 
occurrence for MethodUtils class. Maybe the app has been failed to start 
at all, elsewhere I think you get NoClassDefFoundError (not 
NoSuchMethodError).

On 9/5/2017 3:51 PM, albert kao wrote:
> I tried
> export
> CLASSPATH=$JAVA_HOME/lib:$HOME/Struts2/struts-2.5.12/lib:$CATALINA_HOME/lib:$CLASSPATH:.
>
> but the helloworld link in index.jsp still did not see the
> /home/alkao/Struts2/struts-2.5.12/lib/commons-lang3-3.6.jar.
>
>
> my_tomcat.log did not have this line any more
> [Loaded org.apache.commons.lang3.reflect.MethodUtils from
> file:/home/alkao/tomee/apache-tomee-plus-7.0.3/lib/commons-lang3-3.5.jar]
>
>
> It had lines such as:
> [Loaded org.apache.commons.lang3.text.StrLookup from
> file:/home/alkao/tomee/apache-tomee-plus-7.0.3/lib/commons-lang3-3.5.jar]
> [Loaded org.apache.commons.lang3.CharSequenceUtils from
> file:/home/alkao/tomee/apache-tomee-plus-7.0.3/lib/commons-lang3-3.5.jar]
> ...
>
>
> On Mon, Sep 4, 2017 at 1:30 PM, Yasser Zamani <yasser.zam...@live.com>
> wrote:
>
>>>> Although I had done the following:
>>>> export
>>>> CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$HOME/Struts2/struts-
>> 2.5.12/lib:$CATALINA_HOME/lib:.
>>
>> If you would like to solve it like above, I think you may try below
>> instead ($CLASSPATH at end):
>>
>> export
>> CLASSPATH=$JAVA_HOME/lib:$HOME/Struts2/struts-2.5.12/
>> lib:$CATALINA_HOME/lib:.:$CLASSPATH
>>
>> On 9/4/2017 5:24 PM, albert kao wrote:
>>> As per your instruction, modify catalina.sh:
>>> JAVA_OPTS="$JAVA_OPTS
>>> -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
>>> -XX:+TraceClassLoading -XX:+TraceClassUnloading"
>>>
>>> $ catalina.sh run > my_tomcat.log 2>&1
>>>
>>> my_tomcat.log:
>>> [Loaded org.apache.commons.lang3.reflect.MethodUtils from
>>> file:/home/alkao/tomee/apache-tomee-plus-7.0.3/lib/commons-
>> lang3-3.5.jar]
>>>
>>> Although I had done the following:
>>> export
>>> CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$HOME/Struts2/struts-
>> 2.5.12/lib:$CATALINA_HOME/lib:.
>>>
>>> $ ls /home/alkao/Struts2/struts-2.5.12/lib/commons-lang3*
>>> /home/alkao/Struts2/struts-2.5.12/lib/commons-lang3-3.6.jar
>>>
>>> Therefore the helloworld link in index.jsp did not see the
>>> /home/alkao/Struts2/struts-2.5.12/lib/commons-lang3-3.6.jar.
>>>
>>>
>>> On Sat, Sep 2, 2017 at 2:46 PM, Yasser Zamani <yasser.zam...@live.com>
>>> wrote:
>>>
>>>> I did as you said and did not get any exception!
>>>>
>>>> Could you please add following line to catalina.bat:
>>>>
>>>> set "JAVA_OPTS=-XX:+TraceClassLoading -XX:+TraceClassUnloading"
>>>>
>>>> then:
>>>>
>>>> catalina.bat run > my_tomcat.log 2>&1
>>>>
>>>> then finally search my_tomcat.log for MethodUtils?
>>>>
>>>> I would like to see from where your tomcat load MethodUtils class!
>>>>
>>>>
>>>> On 9/2/2017 7:06 PM, albert kao wrote:
>>>>> 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.zam...@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 <albertk...@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)
>>>>>>
>>>>>
>>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>> For additional commands, e-mail: user-h...@struts.apache.org
>>
>

Reply via email to