java.lang.NoClassDefFoundError

org/apache/struts/action/PlugIn 2015-02-07 7:08 GMT+01:00 Alireza Fattahi <afattahi@yahoo.com.invalid>: The project uses jCaptcha 1.0, after upgrading from 2.3.16 to Struts 2.3.20 the application could not start. Our project is not using jCaptcha struts integration, so we do not have and jCaptcha configuration ins strust.xml or web.xml, for instance we do **NOT** have below line in struts.xml <plug-in className="com.octo.captcha.module.struts.CaptchaServicePlugin"/> I think some plugin management mechanism is changed so the struts 2.3.20 try to find and start this plugin while 2.3.16 didn't. The error is as below: ERROR finder.ClassFinder Unable to read class [com.octo.captcha.module.struts.image.RenderImageCaptchaAction] Could not load org/apache/struts/action/Action.class - [unknown location]

Samebug tips0

We couldn't find tips for this exception.

Don't give up yet. Paste your full stack trace to get a solution.

Solutions on the web11

  • via Unknown by Lukasz Lenart,
  • via Unknown by Lukasz Lenart,
  • via Unknown by Thim Anneessens,
  • Stack trace

    • java.lang.NoClassDefFoundError: org/apache/struts/action/PlugIn 2015-02-07 7:08 GMT+01:00 Alireza Fattahi <afattahi@yahoo.com.invalid>: The project uses jCaptcha 1.0, after upgrading from 2.3.16 to Struts 2.3.20 the application could not start. Our project is not using jCaptcha struts integration, so we do not have and jCaptcha configuration ins strust.xml or web.xml, for instance we do **NOT** have below line in struts.xml <plug-in className="com.octo.captcha.module.struts.CaptchaServicePlugin"/> I think some plugin management mechanism is changed so the struts 2.3.20 try to find and start this plugin while 2.3.16 didn't. The error is as below: ERROR finder.ClassFinder Unable to read class [com.octo.captcha.module.struts.image.RenderImageCaptchaAction] Could not load org/apache/struts/action/Action.class - [unknown location] at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:723) at com.opensymphony.xwork2.util.finder.ClassFinder.access$400(ClassFinder.java:71) at com.opensymphony.xwork2.util.finder.ClassFinder$InfoBuildingClassVisitor.extractSuperInterfaces(ClassFinder.java:770) at com.opensymphony.xwork2.util.finder.ClassFinder$InfoBuildingClassVisitor.visit(ClassFinder.java:757) at org.objectweb.asm.ClassReader.accept(Unknown Source) at org.objectweb.asm.ClassReader.accept(Unknown Source) at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:718) at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:113) at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:390) at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:347) at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:274)

    Write tip

    You have a different solution? A short tip here would help you and many other users who saw this issue last week.

    Users with the same issue

    We couldn't find other users who have seen this exception.