I am using Struts 2 with the XML based validation and it is throwing the following exception:
info: CORE3282: stdout: ERROR - ValidatorFactory.parseValidators(335) | Unable to load file:C:/Projects/test/webapps/default/WEB-INF/classes info: CORE3282: stdout: java.lang.IllegalArgumentException: URI is not hierarchical info: CORE3282: stdout: at java.io.File.<init>(File.java:335) info: CORE3282: stdout: at com.opensymphony.xwork2.validator.ValidatorFactory.parseValidators(ValidatorFactory.java:332) info: CORE3282: stdout: at com.opensymphony.xwork2.validator.ValidatorFactory.<clinit>(ValidatorFactory.java:234) info: CORE3282: stdout: at com.opensymphony.xwork2.validator.ValidatorFileParser.addValidatorConfigs(ValidatorFileParser.java:205) info: CORE3282: stdout: at com.opensymphony.xwork2.validator.ValidatorFileParser.parseActionValidatorConfigs(ValidatorFileParser.java:85) info: CORE3282: stdout: at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.loadFile(AnnotationActionValidatorManager.java:361) info: CORE3282: stdout: at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.buildClassValidatorConfigs(AnnotationActionValidatorManage r.java:252) ........ (continues listing Struts classes without any further error messages) I examined the code of ValidatorFactory.parseValidators and line 326 seems to be throwing the exception: 318 List<File> files = new ArrayList<File>(); 319 try { 320 Iterator<URL> urls = ClassLoaderUtil.getResources("", ValidatorFactory.class, false); 321 while (urls.hasNext()) { 322 URL u = urls.next(); 323 try { 324 URI uri = new URI(u.toExternalForm().replaceAll(" ", "%20")); 325 if ("file".equalsIgnoreCase(uri.getScheme())) { 326 File f = new File(uri); 327 FilenameFilter filter = new FilenameFilter() { 328 public boolean accept(File file, String fileName) { 329 return fileName.contains("-validators.xml"); 330 } 331 }; 332 files.addAll(Arrays.asList(f.listFiles(filter))); 333 } 334 } catch (Exception ex) { 335 LOG.error("Unable to load " + u.toString(), ex); Code Located at: http://svn.opensymphony.com/fisheye/browse/xwork/branches/2.0/src/java/com/opensymphony/xwork2/validator/ValidatorFactory.java?r=1850 Does anyone have any suggestions about what I can do to make the URL hierarchial so that the validator doesn't throw this exception? The path provided in the stack trace does point to the location where my Java class files and my Form-validation.xml file is located. Any suggestions would be appreciated. Thanks!! Note: I also included my struts config files below in case there is anything useful in them. My Form-validation.xml file (located in C:/Projects/test/webapps/default/WEB-INF/classes/org/web): <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name="name"> <field-validator type="required"> <message>The user name field is required!</message> </field-validator> </field> </validators> My form.jsp page: <%@ page language="java" %> <%@ taglib uri="/struts-tags" prefix="s" %> <html> <body> <form action="Form" theme="simple"> <p> Please enter your name: <input type="text" name="name" /><br /> <s:fielderror /> <s:actionerror /> <input type="submit" value="submit" /> </p> </form> </body> </html> My Struts action code: package org.web; import com.opensymphony.xwork2.ActionSupport; public class Form extends ActionSupport { public String name; public String execute() { return "success"; } public getName() { return name; } public setName(String name) { this.name = name; } My Struts.xml file: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="default" namespace="/" extends="struts-default"> <action name="Form" class="org.web.Form"> <result name="success">success.jsp</result> <result name="input">form.jsp</result> </action> </struts> -- View this message in context: http://www.nabble.com/Validation-throwing-IllegalArgumentException-tp20957607p20957607.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]