You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Brian Topping <to...@digidemic.com> on 2003/03/03 23:31:53 UTC

Anyone using JBoss with custom validator rules?

Hi all,

I have Validator operational with two-password validation along the lines of
what is in the developer guide.  I've found that the custom validator
function can be found when the setup is running under standalone Tomcat
4.0.x, but not when that tomcat is running under JBoss, I get the attached
NoClassDefFoundError exception.  I've traced the cause of the exception down
to Line 367 of Validator.java v1.11:

     Method m = c.getMethod(va.getMethod(), paramClass);

The class that getMethod is operating on was loaded via
getClassLoader().loadClass() a dozen or so lines earlier. I presume the
problem then is not related to the class itself, but the method signature
classes.  

I've checked a hundred times that the classpath is clean of everything but
the code in the nightly build.  There are no additional or incorrect
validator jars anywhere else on the classpath during compile or deployment,
which is what I am implying from the exception I am getting below.  I've also
checked that the correct validator jar is in the JBoss deployment, inside the
WAR file along with the rest of the correctly operating Struts jars.

It looks like an incompatibility at best from where I am right now...  Any
ideas appreciated.

Brian


java.lang.reflect.InvocationTargetException
        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:324)
        at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:2
80)
        at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcess
or.java:479)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
        at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
...
Caused by: java.lang.NoClassDefFoundError:
org/apache/commons/validator/ValidatorAction
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:1627)
        at java.lang.Class.privateGetPublicMethods(Class.java:1655)
        at java.lang.Class.getMethod0(Class.java:1744)
        at java.lang.Class.getMethod(Class.java:963)
        at
org.apache.commons.validator.Validator.validateFieldForRule(Validator.java:39
3)
        at
org.apache.commons.validator.Validator.validateField(Validator.java:512)
        at
org.apache.commons.validator.Validator.validate(Validator.java:551)
        at
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:152)
        at
com.bill2.incamail.web.controller.DomainSetupAction.choosePlan(DomainSetupAct
ion.java:186)
        ... 42 more



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


Re: Anyone using JBoss with custom validator rules?

Posted by Chris Trawick <ct...@cultured.net>.
What version of JBoss are you using?

I have successfully gotten custom validators to work without a hitch on
JBoss 3.0.x (all versions beta through latest).  All validator classes and
jars are contained in the war like this:

/WEB-INF/*.tld
/WEB-INF/web.xml
/WEB-INF/struts-config.xml
/WEB-INF/validation.xml
/WEB-INF/validator-rules.xml
/WEB-INF/custom-validator-rules.xml
/WEB-INF/lib/commons-beanutils.jar
/WEB-INF/lib/commons-collections-2.0.jar
/WEB-INF/lib/commons-digester.jar
/WEB-INF/lib/commons-logging.jar
/WEB-INF/lib/commons-validator.jar
/WEB-INF/lib/jakarta-oro.jar
/WEB-INF/lib/struts.jar
/WEB-INF/classes/**/*.properties
/WEB-INF/classes/**/*.class

chris

----- Original Message -----
From: "Brian Topping" <to...@digidemic.com>
To: "Struts Users Mailing List" <st...@jakarta.apache.org>
Sent: Monday, March 03, 2003 5:31 PM
Subject: Anyone using JBoss with custom validator rules?


Hi all,

I have Validator operational with two-password validation along the lines of
what is in the developer guide.  I've found that the custom validator
function can be found when the setup is running under standalone Tomcat
4.0.x, but not when that tomcat is running under JBoss, I get the attached
NoClassDefFoundError exception.  I've traced the cause of the exception down
to Line 367 of Validator.java v1.11:

     Method m = c.getMethod(va.getMethod(), paramClass);

The class that getMethod is operating on was loaded via
getClassLoader().loadClass() a dozen or so lines earlier. I presume the
problem then is not related to the class itself, but the method signature
classes.

I've checked a hundred times that the classpath is clean of everything but
the code in the nightly build.  There are no additional or incorrect
validator jars anywhere else on the classpath during compile or deployment,
which is what I am implying from the exception I am getting below.  I've
also
checked that the correct validator jar is in the JBoss deployment, inside
the
WAR file along with the rest of the correctly operating Struts jars.

It looks like an incompatibility at best from where I am right now...  Any
ideas appreciated.

Brian


java.lang.reflect.InvocationTargetException
        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:324)
        at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:
2
80)
        at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
s
or.java:479)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
        at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
...
Caused by: java.lang.NoClassDefFoundError:
org/apache/commons/validator/ValidatorAction
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:1627)
        at java.lang.Class.privateGetPublicMethods(Class.java:1655)
        at java.lang.Class.getMethod0(Class.java:1744)
        at java.lang.Class.getMethod(Class.java:963)
        at
org.apache.commons.validator.Validator.validateFieldForRule(Validator.java:3
9
3)
        at
org.apache.commons.validator.Validator.validateField(Validator.java:512)
        at
org.apache.commons.validator.Validator.validate(Validator.java:551)
        at
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:152)
        at
com.bill2.incamail.web.controller.DomainSetupAction.choosePlan(DomainSetupAc
t
ion.java:186)
        ... 42 more



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


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


Re: Anyone using JBoss with custom validator rules?

Posted by Eric Jain <Er...@isb-sib.ch>.
> Caused by: java.lang.NoClassDefFoundError:

What's the structure of your .war?

Two possible solutions:

A) Put the commons (or even all Struts related) libraries in your
$jboss/server/$setup/lib.

B) Nest your .war inside a .sar that contains all libraries at the top
level.


--
Eric Jain


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