You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Rainer Hermanns (JIRA)" <ji...@apache.org> on 2008/06/21 14:06:06 UTC

[jira] Resolved: (WW-2684) Exception while registering Interceptor class org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor

     [ https://issues.apache.org/struts/browse/WW-2684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rainer Hermanns resolved WW-2684.
---------------------------------

    Resolution: Fixed
      Assignee: Rainer Hermanns

Please verify with the latest SNAPSHOT releases.
The mentioned fix resolved the issue for me and is no longer reproducible.

If not, feel free to reopen. Thanks! 

> Exception while registering Interceptor class org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-2684
>                 URL: https://issues.apache.org/struts/browse/WW-2684
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>    Affects Versions: 2.1.2
>         Environment: Sun Java System Application Server 9.1 Update 2
> Windows XP
>            Reporter: Reg Whitton
>            Assignee: Rainer Hermanns
>             Fix For: 2.1.3
>
>
> Hi,
> I was trying out the REST plugin by modifing a copy of the tutorial code from the wiki (http://struts.apache.org/2.x/docs/ready-set-go.html).  However, if I upgrade to Struts 2.1.2 to include the plugin I get the above execption when I deploy onto Glassfish.
> Steps to recreate:
> ==============
> # mvn archetype:create -DgroupId=tutorial \
>                        -DartifactId=tutorial \
>                        -DarchetypeGroupId=org.apache.struts \
>                        -DarchetypeArtifactId=struts2-archetype-starter \
>                        -DarchetypeVersion=2.0.9-SNAPSHOT \
>                        -DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository
> # cd tutorial
> # mvn install
> # cp target/tutorial.war <glassfish-install-dir>/domains/domain1/autodeploy/
> browse to http://localhost:8080/tutorial/index.action - it has deployed without errors and works.
> edit the pom.xml and change the struts2 version from 2.0.9 to 2.1.2
> edit src/main/java/tutorial/DateConverter.java to fix change to package: 
> < import com.opensymphony.xwork2.util.TypeConversionException;
> > import com.opensymphony.xwork2.conversion.TypeConversionException;
> # mvn clean install
> # cp target/tutorial.war <glassfish-install-dir>/domains/domain1/autodeploy/
> This time it deploys but with the following errors in the log and application fails to function.
> The bit "URI is not hierarchical" from within java.io.File seems to indicate that the is an attempt to read a file from a jar or zip using a File object rather than a stream.
> Thanks,
> Reg
> Errors from log:
> ============
> [#|2008-06-18T16:04:53.411+0100|SEVERE|sun-appserver9.1|com.opensymphony.xwork2.config.providers.InterceptorBuilder|_ThreadID=14;_ThreadName=Timer-8;_RequestID=2c3eca49-fa0b-4d7d-9697-41a3b6a0dbb2;|Actual exception
> Caught Exception while registering Interceptor class org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor - interceptor - jar:file:/C:/Program%20Files/Java/javaee5_05/domains/domain1/applications/j2ee-modules/tutorial/WEB-INF/lib/struts2-core-2.1.2.jar!/struts-default.xml:143:127
> 	at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:200)
> 	at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:53)
> 	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:1081)
> 	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:781)
> 	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:794)
> 	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:817)
> 	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:446)
> 	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:270)
> 	at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:110)
> 	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:179)
> 	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
> 	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
> 	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424)
> 	at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:213)
> 	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:257)
> 	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:369)
> 	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
> 	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4389)
> 	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5189)
> 	at com.sun.enterprise.web.WebModule.start(WebModule.java:326)
> 	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:973)
> 	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:957)
> 	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:688)
> 	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1584)
> 	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1222)
> 	at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:182)
> 	at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:278)
> 	at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:974)
> 	at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:961)
> 	at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:464)
> 	at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:176)
> 	at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
> 	at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:226)
> 	at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
> 	at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
> 	at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
> 	at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919)
> 	at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:276)
> 	at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:294)
> 	at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.deploy(ApplicationsConfigMBean.java:555)
> 	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:585)
> 	at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:375)
> 	at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:358)
> 	at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:464)
> 	at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
> 	at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
> 	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
> 	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
> 	at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
> 	at $Proxy1.invoke(Unknown Source)
> 	at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
> 	at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
> 	at com.sun.enterprise.deployment.autodeploy.AutoDeployer.invokeDeploymentService(AutoDeployer.java:564)
> 	at com.sun.enterprise.deployment.autodeploy.AutoDeployer.deployJavaEEArchive(AutoDeployer.java:545)
> 	at com.sun.enterprise.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:492)
> 	at com.sun.enterprise.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:267)
> 	at com.sun.enterprise.deployment.autodeploy.AutoDeployControllerImpl$AutoDeployTask.run(AutoDeployControllerImpl.java:374)
> 	at java.util.TimerThread.mainLoop(Timer.java:512)
> 	at java.util.TimerThread.run(Timer.java:462)
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:290)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:470)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:508)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:507)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:558)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:506)
> 	at com.opensymphony.xwork2.ObjectFactory.injectInternalBeans(ObjectFactory.java:125)
> 	at com.opensymphony.xwork2.spring.SpringObjectFactory.autoWireBean(SpringObjectFactory.java:174)
> 	at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:154)
> 	at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:128)
> 	at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:137)
> 	at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:178)
> 	... 64 more
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:137)
> 	at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:447)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:462)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
> 	... 75 more
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:480)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:517)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:565)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:515)
> 	at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
> 	at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:135)
> 	... 80 more
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:290)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:416)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:477)
> 	... 85 more
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:137)
> 	at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:447)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:462)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
> 	... 87 more
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:480)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:517)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:565)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:515)
> 	at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
> 	at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:135)
> 	... 92 more
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:425)
> 	at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:477)
> 	... 97 more
> Caused by: java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> 	at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:404)
> 	... 98 more
> Caused by: java.lang.IllegalArgumentException: URI is not hierarchical
> 	at java.io.File.<init>(File.java:335)
> 	at com.opensymphony.xwork2.validator.DefaultValidatorFactory.parseValidators(DefaultValidatorFactory.java:101)
> 	at com.opensymphony.xwork2.validator.DefaultValidatorFactory.<init>(DefaultValidatorFactory.java:43)
> 	... 103 more
> |#]
> [#|2008-06-18T16:04:53.427+0100|WARNING|sun-appserver9.1|com.opensymphony.xwork2.config.providers.InterceptorBuilder|_ThreadID=14;_ThreadName=Timer-8;_RequestID=2c3eca49-fa0b-4d7d-9697-41a3b6a0dbb2;|Unable to load config class org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor at interceptor - jar:file:/C:/Program%20Files/Java/javaee5_05/domains/domain1/applications/j2ee-modules/tutorial/WEB-INF/lib/struts2-core-2.1.2.jar!/struts-default.xml:143:127 probably due to a missing jar, which might be fine if you never plan to use the validation interceptor|#]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.