最近在做项目的时候,接触了BeanUtils.describe方法,头一次使用BeanUtils类,感觉很好用,
但是在加载的过程中却遇到一些问题。
在MyEclipse中自带的引入:import com.sun.org.apache.commons.beanutils.BeanUtils;
结果在运行BeanUtils.describe方法是报错:
Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at com.sun.org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at com.sun.org.apache.commons.beanutils.BeanUtils.<clinit>(BeanUtils.java:111)
... 1 more
Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException)
at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
... 5 more
Caused by: java.lang.NullPointerException
at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:374)
... 6 more
因为是报了logging的错误,所以引入了commons-logging-1.1.1.jar包,还是报上面的错误,上网查了资料,终于找到了原因,原来是包引入的不对。这里引入的是java自带的BeanUtils包,需要下载commons-beanutils-1.8.3.jar包加载到工作目录下,
程序中引入:import org.apache.commons.beanutils.BeanUtils;
这样在运行时就可以正确使用了。
总结就是使用BeanUtils,要加载commons-logging-1.1.1.jar包和commons-beanutils-1.8.3.jar包
虽然解决了问题,可是还是有一点点的不明白,怎么引入的不同,运行就不好使了呢?具体的相信原因还是不怎么明白,希望哪位大虾看到后指导一下。