获取 java.lang.ClassNotFoundException:MalformedPatternException

Getting java.lang.ClassNotFoundException:MalformedPatternException

在尝试将 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)

不确定缺少哪个 jar。

请确保 oro jar 文件在 class路径中。它不在那里。所以,class 加载失败

您可能错过了 oro.jar。您可以添加 maven 依赖项

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

或者从 maven 下载 jar repository