[英]java.lang.NoClassDefFoundError: org/apache/commons/lang/builder/CompareToBuilder
[英]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.