I want to test my struts actions, but I keep getting this
ClassNotFoundException all the time. 
The problem is that I’ve got a springbean inside the validators.xml. (If I
leave out the springbean in the validators.xml it will run successfully.)

Here some of my validators.xml file:
<validators>
…..
    <validator name="regex"
class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    <validator name="zipcode"  class="zipCodeValidator"/>
…..
</validators>

Here is the testcode:

        ConfigurationManager configurationManager = new
ConfigurationManager();
        configurationManager.addContainerProvider(new
XWorkConfigurationProvider());
        Configuration config = configurationManager.getConfiguration();
        Container container = config.getContainer();

        ValueStack stack =
container.getInstance(ValueStackFactory.class).createValueStack();
        stack.getContext().put(ActionContext.CONTAINER, container);
        ActionContext.setContext(new ActionContext(stack.getContext()));

        avm = container.getInstance(ActionValidatorManager.class);//
<----------------It fails here


Here is the error:
ava.lang.RuntimeException: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
        at
com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295)
        at
com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431)
        at
com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
        at
com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:507)
        at
com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:517)
        at
com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:548)
        at
com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574)
        at
com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:546)
        at
no.test.web.personal.actions.auto.AutoActionTest.superSetUp(AutoActionTest.java:50)
        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 
org.junit.internal.runners.ClassRoadie.runBefores(ClassRoadie.java:49)
        at 
org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:36)
        at
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
        at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
        at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
        at
com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:440)
        at
com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
        at
com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:462)
        at
com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:477)
        at
com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:34)
        at
com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293)
        ... 22 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:419)
        ... 28 more
Caused by: Unable to load validator class zipCodeValidator - validator -
file:///C:/Developer/Prosjekt-src/trunk/klient/private/private-web/validators.xml:24:58
        at
com.opensymphony.xwork2.validator.DefaultValidatorFileParser.parseValidatorDefinitions(DefaultValidatorFileParser.java:120)
        at
com.opensymphony.xwork2.validator.DefaultValidatorFactory.retrieveValidatorConfiguration(DefaultValidatorFactory.java:184)
        at
com.opensymphony.xwork2.validator.DefaultValidatorFactory.parseValidators(DefaultValidatorFactory.java:173)
        at
com.opensymphony.xwork2.validator.DefaultValidatorFactory.<init>(DefaultValidatorFactory.java:44)
        ... 33 more
Caused by: java.lang.ClassNotFoundException: zipCodeValidator
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:146)
        at
com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:96)
        at 
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:149)
        at 
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
        at
com.opensymphony.xwork2.ObjectFactory.buildValidator(ObjectFactory.java:242)
        at
com.opensymphony.xwork2.validator.DefaultValidatorFileParser.parseValidatorDefinitions(DefaultValidatorFileParser.java:117)
        ... 36 more


-- 
View this message in context: 
http://www.nabble.com/Problem-testing-my-action-when-I%E2%80%99ve-got-a-springbean-inside-the-validators.xml-tp24862185p24862185.html
Sent from the Struts - User mailing list archive at Nabble.com.


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

Reply via email to