当我使用PropertiesConfiguration加载某些属性时,我有一个奇怪的异常。我在Web服务上工作,之前我成功使用 java.util.Properties; 调用文件 .properties 。对于这个项目,我需要在修改文件 .properties 时刷新Tomcat,所以我想使用 commons.configuration.Configuration; ,但是我收到一些例外。 这是我调用config.properties文件的代码:
private String getProperty(String property)
{
String value = null;
PropertiesConfiguration config = new PropertiesConfiguration();
try {
config.load(getClass().getResourceAsStream("config.properties"));
config.setReloadingStrategy(new FileChangedReloadingStrategy());
value = config.getString(property);
} catch (ConfigurationException e) {
e.printStackTrace();
}
return value;
}
例外情况如下:
INFO: Exception:java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException
at com.sncf.ritmx.domter.service.Pandore2DomTerServiceServiceSoapBindingSkeleton.<init>(Pandore2DomTerServiceServiceSoapBindingSkeleton.java:54)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.makeNewServiceObject(JavaProvider.java:385)
at org.apache.axis.providers.java.JavaProvider.getNewServiceObject(JavaProvider.java:235)
at org.apache.axis.providers.java.JavaProvider.getServiceObject(JavaProvider.java:91)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:287)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.ConfigurationException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 36 more
我引用了这个post,所以我知道我必须包含一些包(所以我做了),这里包含了不同的包:
我还可以添加webservice的结果,而不是真的知道它是否有用,以防万一:
Exception: java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException; nested exception is: java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException Message: java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException; nested exception is: java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException
我有点厌倦了在网上寻求并没有成功解决问题。 感谢您的回答,如果有人有解决这个问题的线索,那将是受欢迎的:)