Spring资源加载器使用报错。
public static void main(String[] args) throws IOException {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
//获取类路径下conf文件夹中的所有TXT文件
Resource resources[] = resolver.getResources("classpath:conf/*.txt");
for(Resource resource : resources){
//文件描述
System.out.println(resource.getDescription());
//文件名称
System.out.println(resource.getFilename());
//文件内容
EncodedResource encRes = new EncodedResource(resource, "UTF-8");
String content = FileCopyUtils.copyToString(encRes.getReader());
System.out.println(content);
}
}
运行时会报Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.<clinit>(PathMatchingResourcePatternResolver.java:169)
at com.baobaotao.resource.PatternResolverTest.main(PatternResolverTest.java:14)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 2 more
原因是缺少jar包,添加commons-logging-1.2.1.1..jar。重新运行正常。