[
https://issues.apache.org/jira/browse/WW-3950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13535705#comment-13535705
]
lwen.ma commented on WW-3950:
-----------------------------
1. Is it just simple convention based application?
yes.
"admin.war" is convention based that use "@Action" annotation and package scan;
"bus-two.war" a is normal application that use xml to config actions.
if you just deploy any one war of them to appserver, no error ocure will occur,
but if deploy all of them to appserver, an error appear.
2.Or could you prepare simple Maven based projects?
I'm not familiar with Maven, I'll give it if you very need it.
> ClassFinder[convention-plugin] error in jboss
> ---------------------------------------------
>
> Key: WW-3950
> URL: https://issues.apache.org/jira/browse/WW-3950
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Convention
> Affects Versions: 2.3.8
> Environment: jdk: 1.6.37
> app server; jboss-4.2.2.GA
> Reporter: lwen.ma
> Fix For: 2.3.9
>
> Attachments: sample-wars.zip
>
>
> I try to use latest version 2.3.8 and get a error when the appserver start up.
> {noformat}
> 11:19:56,099 INFO [TomcatDeployer:127] deploy, ctxPath=/bus-two,
> warUrl=.../tmp/deploy/tmp1603851610197210675bus-two-exp.war/
> 11:19:56,163 INFO [AuthFilter:37] authUrl: /admin/login/login-new
> 11:19:56,164 INFO [AuthFilter:38] excludeUris: /login/
> 11:19:56,200 INFO [XmlConfigurationProvider:42] Parsing configuration file
> [struts-default.xml]
> 11:19:56,236 INFO [XmlConfigurationProvider:42] Parsing configuration file
> [struts-plugin.xml]
> 11:19:56,247 INFO [XmlConfigurationProvider:42] Parsing configuration file
> [struts.xml]
> 11:19:56,250 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.ObjectFactory)
> 11:19:56,250 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.FileManagerFactory)
> 11:19:56,251 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.conversion.impl.XWorkConverter)
> 11:19:56,251 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.TextProvider)
> 11:19:56,252 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.LocaleProvider)
> 11:19:56,252 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.ActionProxyFactory)
> 11:19:56,253 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.conversion.ObjectTypeDeterminer)
> 11:19:56,254 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (org.apache.struts2.dispatcher.mapper.ActionMapper)
> 11:19:56,254 INFO [BeanSelectionProvider:42] Choosing bean (jakarta) for
> (org.apache.struts2.dispatcher.multipart.MultiPartRequest)
> 11:19:56,255 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (org.apache.struts2.views.freemarker.FreemarkerManager)
> 11:19:56,257 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (org.apache.struts2.components.UrlRenderer)
> 11:19:56,258 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.validator.ActionValidatorManager)
> 11:19:56,258 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.util.ValueStackFactory)
> 11:19:56,259 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.util.reflection.ReflectionProvider)
> 11:19:56,260 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.util.reflection.ReflectionContextFactory)
> 11:19:56,261 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.util.PatternMatcher)
> 11:19:56,262 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (org.apache.struts2.dispatcher.StaticContentLoader)
> 11:19:56,262 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.UnknownHandlerManager)
> 11:19:56,263 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (org.apache.struts2.views.util.UrlHelper)
> 11:19:56,264 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.conversion.impl.CollectionConverter)
> 11:19:56,265 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.conversion.impl.ArrayConverter)
> 11:19:56,265 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.conversion.impl.DateConverter)
> 11:19:56,266 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.conversion.impl.NumberConverter)
> 11:19:56,267 INFO [BeanSelectionProvider:42] Choosing bean (struts) for
> (com.opensymphony.xwork2.conversion.impl.StringConverter)
> 11:19:56,372 ERROR [ClassFinder:38] Unable to read class
> [com.test.admin.web.actions.base.IndexAction]
> Could not load com/test/admin/web/actions/base/IndexAction.class - [unknown
> location]
> at
> com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:722)
> at
> com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:112)
> 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:249)
> at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
> at
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
> at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:471)
> at
> org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
> at
> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
> at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
> at
> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
> at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
> at
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3722)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4367)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
> at
> org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at
> org.apache.catalina.core.StandardContext.init(StandardContext.java:5312)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
> at
> org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at
> org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)
> at
> org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
> at
> org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
> at org.jboss.web.WebModule.startModule(WebModule.java:83)
> at org.jboss.web.WebModule.startService(WebModule.java:61)
> at
> org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
> at
> org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at
> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
> at $Proxy0.start(Unknown Source)
> at
> org.jboss.system.ServiceController.start(ServiceController.java:417)
> at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy44.start(Unknown Source)
> at
> org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at
> org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at
> org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> at
> org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> at
> org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> at
> org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
> at
> org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
> at
> org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy45.start(Unknown Source)
> at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
> at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at
> org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at
> org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy9.deploy(Unknown Source)
> at
> org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
> at
> org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
> at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira