从/ src / main / resources加载文件

时间:2014-09-02 20:06:23

标签: java xml xml-parsing xsd xsd-validation

我在/src/main/resources/vast_2.0.1.xsd中有一个XML模式文件。

我需要加载它并使用它来验证我的XML文件。

这就是发生的事情:

        SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);
        File schemaFile = new File("/src/main/resources/vast_2.0.1.xsd");

        try {
            Schema schema = scehmaFactory.newSchema(schemaFile);
            Validator validator = schema.newValidator();
            Source sourceXMLFile = new StreamSource(validationRequest.xmlInputStream);
            validator.validate(sourceXMLFile);
        } catch (SAXException e) {
            responseEngine.addFailedCheck("NON_VAST_COMPLIANT", "Does not meet VAST 2.0 XML schema specifications");
        } catch (IOException e) {
            // should not reach here
        }

由于某种原因,在File schemaFile = new File...行之后,它停止运行(使用print语句)。我是否错误地加载了文件?

1 个答案:

答案 0 :(得分:0)

我假设你的目录结构中你正在使用maven。在maven项目中,src / main / resources始终位于类路径中,因此您只需指定不带路径的文件名。试试这个:

    File schemaFile = new File("vast_2.0.1.xsd");