◎筱米加步枪◎.Blog

Happy coding

Bean属性拷贝出现java.lang.ExceptionInInitializerError可能原因

前些天,进行使用PropertyUtils工具进行Bean的属性拷贝,总出现:java.lang.ExceptionInInitializerError错误,明明字段啥的都一样啊。。许久才发现。原来我包引错了~~闷~

我引用的是 com.sun.org.apache.commons.beanutils.PropertyUtils 类。

正确的是引用 org.apache.commons.beanutils.PropertyUtils

备注并引以为戒。

.userlibraries文件技巧与用法

.userlibraries文件,顾名思义,就是用户库的意思。记载了所包含的用户库的信息。

如果我们工程很多,而且引用的包很多,而且很多工程都共用很多包,那不是很麻烦。?

使用.userlibraries文件可以帮助我们管理这些包,使用MyEclipse可以通过这个.userlibraries文件把相关的用户库给引用进来。无须导入很多包。

举个例子:

<?xml version="1.0" encoding="UTF-8"?>
<eclipse-userlibraries version="2">
<library name="struts" systemlibrary="false">
<archive path="E:/lib/esim65/lib/struts/commons-codec.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-collections.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-dbutils-1.1.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-digester.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-fileupload.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-httpclient.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-io-1.2.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-lang-2.0.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-net-1.4.1.jar"/>
<archive path="E:/lib/esim65/lib/struts/commons-validator.jar"/>
<archive path="E:/lib/esim65/lib/struts/struts.jar"/>
<archive path="E:/lib/esim65/lib/struts/Struts-Layout.jar"/>
<archive path="E:/lib/esim65/lib/struts/struts-legacy.jar"/>
</library>
</eclipse-userlibraries>

比如我们记录一个struts包,里面包含了struts中的包,每个工程用到strust的时候,我们可以直接导入这个文件来把strust库中的包引进来。

以上library节点的name属性就是存放这些包的文件夹名,archive节点的path属性是存放包的物理路径。

很幸运的MyEclipse可以帮我们生成这个文件。

右键工程>>【Build Path】>>【Configure Build Path】>>选择【Libraries】>>【Add Libraries】>>【User Libraries】>>【next】>>【User Libraries】>>【Export】>>选中要导出的库,和指定对应的文件即可。

如图,

 

要使用这个文件的时候,【Import】>>选中指定的文件即可。如图:

完毕~~