Lew said:
$ find /cygdrive/c/java/jdk1.6.0_20/ /cygdrive/c/java/glassfish/ -name
\*.jar \
| xargs grep ValidatorFactory
Great mind think alike, I suppose. I was having a hard time getting the
class name and the jar name together:
Brenden@Homer /cygdrive/c/Program Files/glassfish-v3-b68
$ find . -name "*.jar" -print0 | xargs -0 -I {} jar -tf {} | grep
ValidatorFactory
will find something, but it's not clear where it's finding it.
So a bit of bash shell scripting worked it out.
$ cat findit
#!/bin/bash
jars=`find . -name "*.jar"`
for i in $jars; do
# echo JAR: $i
jar -tf $i | grep ValidatorFactory
if [ $? == 0 ] ; then
echo JAR: $i
fi
done
The output of this script is:
$ ./findit
com/sun/messaging/jmq/jmsclient/validation/ValidatorFactory.class
JAR: ./glassfish/lib/install/applications/jmsra/imqjmsra.jar
javax/validation/ConstraintValidatorFactory.class
javax/validation/ValidatorFactory.class
org/hibernate/validation/engine/ConstraintValidatorFactoryImpl.class
org/hibernate/validation/engine/ValidatorFactoryImpl.class
org/hibernate/validation/util/LazyValidatorFactory.class
JAR: ./glassfish/modules/bean-validator.jar
com/sun/jsftemplating/component/factory/ri/ValidatorFactory.class
JAR: ./glassfish/modules/jsftemplating.jar
org/jboss/webbeans/bean/builtin/DefaultValidatorFactoryBean.class
JAR: ./glassfish/modules/webbeans-osgi-bundle.jar
com/sun/messaging/jmq/jmsclient/validation/ValidatorFactory.class
JAR: ./mq/lib/imq.jar
So yes it's in glassfish/modules/bean-validator.jar for me too.
I think this implies that other containers might use a different .jar
however. JBoss, Weblogic, etc. might supply their own implementation
elsewhere, so the script above might be handy for the OP.