You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by DAngel <da...@gmail.com> on 2024/03/20 00:33:31 UTC

struts 2.5.33 - ERROR DefaultClassFinder - Unable to read class - IncompatibleClassChangeError

Hi guys.
I have migrated an application from struts 2.3 to 2.5.33
I have followed the guide:

https://cwiki.apache.org/confluence/display/WW/Struts+2.3+to+2.5+migration#Struts2.3to2.5migration-Dependencies

On tomcat startup, I get errors like:

ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read
class [ mi.action.class]
java.lang.IncompatibleClassChangeError: class
org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has
interface org.objectweb.asm.ClassVisitor as super class

java 1.8
tomcat 9.0.76
Linux Red Hat 8 (and Ubuntu 16.04)

struts2-core, struts2-json-plugin, struts2-tiles-plugin,
struts2-convention-plugin [struts.version - 2.5.33]

*asm, asm-commons, asm-tree*
I have tried both the version: 7.3.1 and 9.6 with the same error result

  Has anyone had this error?
  Any advice to solve this error is welcome.

 Thank you
 Angel

Re: struts 2.5.33 - ERROR DefaultClassFinder - Unable to read class - IncompatibleClassChangeError

Posted by DAngel <da...@gmail.com>.
I've seen some answers to this error for the asm version, so I checked the
library version.

I have tried both the version: 7.3.1 (which is the one used in the struts
pom), and 9.6 with the same error result.

El dom, 24 mar 2024 a las 17:40, Lukasz Lenart (<lu...@apache.org>)
escribió:

> This looks like you have another version of the ASM library on the
> classpath
>
> https://stackoverflow.com/questions/16209623/incompatibleclasschangeerror-class-classmetadatareadingvisitor-has-interface-cl
>
> czw., 21 mar 2024 o 15:00 DAngel <da...@gmail.com> napisał(a):
> >
> > Hello, thanks for answering
> >
> > Before starting tomcat I delete the content inside the directories
> >   "work" and "temp"
> >
> >
> > OGNL version:
> >     WEB-INF/lib/ognl-3.1.29.jar
> >     WEB-INF/lib/tiles-ognl-3.0.8.jar
> >
> >
> > The following is the error trace for an Action class
> > (the same thing is repeated for all Action classes)
> >
> > 10:34:20.402 [main] ERROR
> org.apache.struts2.convention.DefaultClassFinder
> > - Unable to read class [org.dlix.ui.actions.ListDetail]
> > java.lang.IncompatibleClassChangeError: class
> > org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has
> > interface org.objectweb.asm.ClassVisitor as super class
> >         at
> >
> org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462)
> > ~[struts2-convention-plugin-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93)
> > [struts2-convention-plugin-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395)
> > [struts2-convention-plugin-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
> > [struts2-convention-plugin-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333)
> > [struts2-convention-plugin-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52)
> > [struts2-convention-plugin-2.5.33.jar:2.5.33]
> >         at
> >
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:206)
> > [struts2-core-2.5.33.jar:2.5.33]
> >         at
> >
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
> > [struts2-core-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:970)
> > [struts2-core-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:463)
> > [struts2-core-2.5.33.jar:2.5.33]
> >         at
> > org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:496)
> > [struts2-core-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
> > [struts2-core-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61)
> > [struts2-core-2.5.33.jar:2.5.33]
> >         at
> >
> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:262)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:244)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:97)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4345)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4972)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1023)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1910)
> > [catalina.jar:9.0.76]
> >         at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> > [?:1.8.0_382]
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > [?:1.8.0_382]
> >         at
> >
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> > [tomcat-util.jar:9.0.76]
> >         at
> >
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
> > [?:1.8.0_382]
> >         at
> > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:824)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318)
> > [catalina.jar:9.0.76]
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > [?:1.8.0_382]
> >         at
> >
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> > [tomcat-util.jar:9.0.76]
> >         at
> >
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
> > [?:1.8.0_382]
> >         at
> >
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> > [catalina.jar:9.0.76]
> >         at
> >
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923)
> > [catalina.jar:9.0.76]
> >         at
> > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> > [catalina.jar:9.0.76]
> >         at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
> > [catalina.jar:9.0.76]
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > ~[?:1.8.0_382]
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> > ~[?:1.8.0_382]
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > ~[?:1.8.0_382]
> >         at java.lang.reflect.Method.invoke(Method.java:498)
> ~[?:1.8.0_382]
> >         at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
> > [bootstrap.jar:9.0.76]
> >         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
> > [bootstrap.jar:9.0.76]
> >
> >
> >
> > El mié, 20 mar 2024 a las 18:20, Lukasz Lenart (<lukaszlenart@apache.org
> >)
> > escribió:
> >
> > > śr., 20 mar 2024 o 01:34 DAngel <da...@gmail.com> napisał(a):
> > > > ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to
> read
> > > > class [ mi.action.class]
> > > > java.lang.IncompatibleClassChangeError: class
> > > > org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor
> has
> > > > interface org.objectweb.asm.ClassVisitor as super class
> > >
> > > Could you post the whole stack trace?
> > >
> > > > java 1.8
> > > > tomcat 9.0.76
> > > > Linux Red Hat 8 (and Ubuntu 16.04)
> > > >
> > > > struts2-core, struts2-json-plugin, struts2-tiles-plugin,
> > > > struts2-convention-plugin [struts.version - 2.5.33]
> > > >
> > > > *asm, asm-commons, asm-tree*
> > > > I have tried both the version: 7.3.1 and 9.6 with the same error
> result
> > >
> > > 9.6 requires JDK8 which should be fine, did you try to clean up TEMPs?
> > >
> > > >   Has anyone had this error?
> > > >   Any advice to solve this error is welcome.
> > >
> > > I assume you do not use Maven, what OGNL version do you use?
> > >
> > >
> > > Cheers
> > > Lukasz
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > > For additional commands, e-mail: user-help@struts.apache.org
> > >
> > >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Re: struts 2.5.33 - ERROR DefaultClassFinder - Unable to read class - IncompatibleClassChangeError

Posted by Lukasz Lenart <lu...@apache.org>.
This looks like you have another version of the ASM library on the classpath
https://stackoverflow.com/questions/16209623/incompatibleclasschangeerror-class-classmetadatareadingvisitor-has-interface-cl

czw., 21 mar 2024 o 15:00 DAngel <da...@gmail.com> napisał(a):
>
> Hello, thanks for answering
>
> Before starting tomcat I delete the content inside the directories
>   "work" and "temp"
>
>
> OGNL version:
>     WEB-INF/lib/ognl-3.1.29.jar
>     WEB-INF/lib/tiles-ognl-3.0.8.jar
>
>
> The following is the error trace for an Action class
> (the same thing is repeated for all Action classes)
>
> 10:34:20.402 [main] ERROR org.apache.struts2.convention.DefaultClassFinder
> - Unable to read class [org.dlix.ui.actions.ListDetail]
> java.lang.IncompatibleClassChangeError: class
> org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has
> interface org.objectweb.asm.ClassVisitor as super class
>         at
> org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462)
> ~[struts2-convention-plugin-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93)
> [struts2-convention-plugin-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395)
> [struts2-convention-plugin-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
> [struts2-convention-plugin-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333)
> [struts2-convention-plugin-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52)
> [struts2-convention-plugin-2.5.33.jar:2.5.33]
>         at
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:206)
> [struts2-core-2.5.33.jar:2.5.33]
>         at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
> [struts2-core-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:970)
> [struts2-core-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:463)
> [struts2-core-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:496)
> [struts2-core-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
> [struts2-core-2.5.33.jar:2.5.33]
>         at
> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61)
> [struts2-core-2.5.33.jar:2.5.33]
>         at
> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:262)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:244)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:97)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4345)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4972)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1023)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1910)
> [catalina.jar:9.0.76]
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [?:1.8.0_382]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> [?:1.8.0_382]
>         at
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> [tomcat-util.jar:9.0.76]
>         at
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
> [?:1.8.0_382]
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:824)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318)
> [catalina.jar:9.0.76]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> [?:1.8.0_382]
>         at
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> [tomcat-util.jar:9.0.76]
>         at
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
> [?:1.8.0_382]
>         at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923)
> [catalina.jar:9.0.76]
>         at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> [catalina.jar:9.0.76]
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
> [catalina.jar:9.0.76]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[?:1.8.0_382]
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[?:1.8.0_382]
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_382]
>         at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_382]
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
> [bootstrap.jar:9.0.76]
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
> [bootstrap.jar:9.0.76]
>
>
>
> El mié, 20 mar 2024 a las 18:20, Lukasz Lenart (<lu...@apache.org>)
> escribió:
>
> > śr., 20 mar 2024 o 01:34 DAngel <da...@gmail.com> napisał(a):
> > > ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read
> > > class [ mi.action.class]
> > > java.lang.IncompatibleClassChangeError: class
> > > org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has
> > > interface org.objectweb.asm.ClassVisitor as super class
> >
> > Could you post the whole stack trace?
> >
> > > java 1.8
> > > tomcat 9.0.76
> > > Linux Red Hat 8 (and Ubuntu 16.04)
> > >
> > > struts2-core, struts2-json-plugin, struts2-tiles-plugin,
> > > struts2-convention-plugin [struts.version - 2.5.33]
> > >
> > > *asm, asm-commons, asm-tree*
> > > I have tried both the version: 7.3.1 and 9.6 with the same error result
> >
> > 9.6 requires JDK8 which should be fine, did you try to clean up TEMPs?
> >
> > >   Has anyone had this error?
> > >   Any advice to solve this error is welcome.
> >
> > I assume you do not use Maven, what OGNL version do you use?
> >
> >
> > Cheers
> > Lukasz
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > For additional commands, e-mail: user-help@struts.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: struts 2.5.33 - ERROR DefaultClassFinder - Unable to read class - IncompatibleClassChangeError

Posted by DAngel <da...@gmail.com>.
Hello, thanks for answering

Before starting tomcat I delete the content inside the directories
  "work" and "temp"


OGNL version:
    WEB-INF/lib/ognl-3.1.29.jar
    WEB-INF/lib/tiles-ognl-3.0.8.jar


The following is the error trace for an Action class
(the same thing is repeated for all Action classes)

10:34:20.402 [main] ERROR org.apache.struts2.convention.DefaultClassFinder
- Unable to read class [org.dlix.ui.actions.ListDetail]
java.lang.IncompatibleClassChangeError: class
org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has
interface org.objectweb.asm.ClassVisitor as super class
        at
org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462)
~[struts2-convention-plugin-2.5.33.jar:2.5.33]
        at
org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93)
[struts2-convention-plugin-2.5.33.jar:2.5.33]
        at
org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395)
[struts2-convention-plugin-2.5.33.jar:2.5.33]
        at
org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
[struts2-convention-plugin-2.5.33.jar:2.5.33]
        at
org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333)
[struts2-convention-plugin-2.5.33.jar:2.5.33]
        at
org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52)
[struts2-convention-plugin-2.5.33.jar:2.5.33]
        at
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:206)
[struts2-core-2.5.33.jar:2.5.33]
        at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
[struts2-core-2.5.33.jar:2.5.33]
        at
org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:970)
[struts2-core-2.5.33.jar:2.5.33]
        at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:463)
[struts2-core-2.5.33.jar:2.5.33]
        at
org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:496)
[struts2-core-2.5.33.jar:2.5.33]
        at
org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
[struts2-core-2.5.33.jar:2.5.33]
        at
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61)
[struts2-core-2.5.33.jar:2.5.33]
        at
org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:262)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:244)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:97)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4345)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4972)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
[catalina.jar:9.0.76]
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1023)
[catalina.jar:9.0.76]
        at
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1910)
[catalina.jar:9.0.76]
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[?:1.8.0_382]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[?:1.8.0_382]
        at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[tomcat-util.jar:9.0.76]
        at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
[?:1.8.0_382]
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:824)
[catalina.jar:9.0.76]
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
[catalina.jar:9.0.76]
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617)
[catalina.jar:9.0.76]
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318)
[catalina.jar:9.0.76]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[?:1.8.0_382]
        at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[tomcat-util.jar:9.0.76]
        at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
[?:1.8.0_382]
        at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[catalina.jar:9.0.76]
        at
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923)
[catalina.jar:9.0.76]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[catalina.jar:9.0.76]
        at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
[catalina.jar:9.0.76]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_382]
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_382]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_382]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_382]
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
[bootstrap.jar:9.0.76]
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
[bootstrap.jar:9.0.76]



El mié, 20 mar 2024 a las 18:20, Lukasz Lenart (<lu...@apache.org>)
escribió:

> śr., 20 mar 2024 o 01:34 DAngel <da...@gmail.com> napisał(a):
> > ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read
> > class [ mi.action.class]
> > java.lang.IncompatibleClassChangeError: class
> > org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has
> > interface org.objectweb.asm.ClassVisitor as super class
>
> Could you post the whole stack trace?
>
> > java 1.8
> > tomcat 9.0.76
> > Linux Red Hat 8 (and Ubuntu 16.04)
> >
> > struts2-core, struts2-json-plugin, struts2-tiles-plugin,
> > struts2-convention-plugin [struts.version - 2.5.33]
> >
> > *asm, asm-commons, asm-tree*
> > I have tried both the version: 7.3.1 and 9.6 with the same error result
>
> 9.6 requires JDK8 which should be fine, did you try to clean up TEMPs?
>
> >   Has anyone had this error?
> >   Any advice to solve this error is welcome.
>
> I assume you do not use Maven, what OGNL version do you use?
>
>
> Cheers
> Lukasz
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Re: struts 2.5.33 - ERROR DefaultClassFinder - Unable to read class - IncompatibleClassChangeError

Posted by Lukasz Lenart <lu...@apache.org>.
śr., 20 mar 2024 o 01:34 DAngel <da...@gmail.com> napisał(a):
> ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read
> class [ mi.action.class]
> java.lang.IncompatibleClassChangeError: class
> org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has
> interface org.objectweb.asm.ClassVisitor as super class

Could you post the whole stack trace?

> java 1.8
> tomcat 9.0.76
> Linux Red Hat 8 (and Ubuntu 16.04)
>
> struts2-core, struts2-json-plugin, struts2-tiles-plugin,
> struts2-convention-plugin [struts.version - 2.5.33]
>
> *asm, asm-commons, asm-tree*
> I have tried both the version: 7.3.1 and 9.6 with the same error result

9.6 requires JDK8 which should be fine, did you try to clean up TEMPs?

>   Has anyone had this error?
>   Any advice to solve this error is welcome.

I assume you do not use Maven, what OGNL version do you use?


Cheers
Lukasz

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org