繁体   English   中英

java.lang.NoClassDefFoundError:org / apache / commons / lang / text / StrLookup

[英]java.lang.NoClassDefFoundError: org/apache/commons/lang/text/StrLookup

错误指向EventUnitTesting.readPropertyFile(EventUnitTesting.java:168) ,其中readPropertyFile()的主体为

private void readPropertyFile() throws IOException, ConfigurationException{

    file = new File(fileLocation + unitTestingFileName);
    propertiesConfiguration = new PropertiesConfiguration(file);

    List<Object> propertyKeysList = propertiesConfiguration.getList("regular");
    Iterator<Object> propertyKeysIterator = propertyKeysList.iterator();
    regularEvents = new ArrayList<String>();
    while(propertyKeysIterator.hasNext()){
        regularEvents.add((String)propertyKeysIterator.next());
    }

    propertyKeysList =  propertiesConfiguration.getList("consolidated");
    propertyKeysIterator = propertyKeysList.iterator();
    consolidatedEvents = new ArrayList<String>();
    while(propertyKeysIterator.hasNext()){
        consolidatedEvents.add((String)propertyKeysIterator.next());
    }

    propertyKeysList =  propertiesConfiguration.getList("correlated");
    propertyKeysIterator = propertyKeysList.iterator();
    correlatedEvents = new ArrayList<String>();
    while(propertyKeysIterator.hasNext()){
        correlatedEvents.add((String)propertyKeysIterator.next());
    }

}

因此,我正在使用Apache Commons Configuration库1.10版读取具有非唯一键的属性文件。 我没有使用JBoss 6.4.8专用WAR收到此错误,但此错误是在JBoss转换的5.2 WAR上生成的。

我使用的是Apache Commons Lang 2.1,所以我不确定org/apache/commons/lang/text/StrLookup会成为问题。 所有相关的* .java和* .class文件都已复制到转换后的jar文件中,除此问题外,一切都很好。

请注意,NoClassDefFoundError与ClassNotFoundException不同。 前者可能意味着找到了该类,但是在静态初始化程序期间引发了异常。

将此方法代码包装在try catch中并输出异常。 您可能会明白原因。

看起来在编译时存在一些依赖的jar,但在运行时缺少。 您可以比较类路径的构建时间和运行时。 它将为您提供缺少哪个jar并导致此问题的区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM