获取java.lang.ClassNotFoundException:MalformedPatternException

时间:2016-01-05 12:12:13

标签: java marshalling

在尝试将java对象封送到xml时,我遇到了异常。

java.lang.ClassNotFoundException: org.apache.oro.text.regex.MalformedPatternException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at org.castor.xml.AbstractInternalContext.getRegExpEvaluator(AbstractInternalContext.java:325)
    at org.exolab.castor.xml.validators.PatternValidator.initEvaluator(PatternValidator.java:262)
    at org.exolab.castor.xml.validators.PatternValidator.validate(PatternValidator.java:200)
    at org.exolab.castor.xml.validators.StringValidator.validate(StringValidator.java:302)
    at org.exolab.castor.xml.validators.StringValidator.validate(StringValidator.java:340)
    at org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:324)
    at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
    at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1072)
    at org.exolab.castor.xml.Validator.validate(Validator.java:135)
    at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:2594)
    at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:826)
    at in.mywebapp.util.XMLUnmarshaller.getStatusRequestParam(XMLUnmarshaller.java:266)

不确定缺少哪个罐子。

2 个答案:

答案 0 :(得分:1)

你可能缺少oro.jar。您可以添加maven依赖

    <dependency>
        <groupId>oro</groupId>
        <artifactId>oro</artifactId>
        <version>2.0.8</version>
    </dependency>

或从maven repository

下载jar

答案 1 :(得分:0)

请确保oro jar文件在classpath中。它不在那里。因此,类加载失败