[导入]解决JBUILDER 2007使用XDOCLET时的乱码问题
经过一下午的研究,总算解决了困扰我的XDOCLET输出文件中文乱码的问题。
造成这个问题的罪魁祸首是JBuilder 2007,他没有提供XDoclet的Build File的全面的设置功能.
XDoclet本身在Ant Task文件里提供了针对源文件的编码设置。只要在Build.xml的Task节加上encoding="ENCODING",就可以了。比如:
<ejbdoclet
encoding="UTF-8"
destdir="${ejb.module.gen}"
mergedir="${xdoclet.merge.dir}"
excludedtags="@version,@author,@todo"
addedtags="@wtp generated"
ejbspec="${ejb.spec.version}"
force="${xdoclet.force}"
verbose="true" >
而Jbuilder 2007里,并没有提供针对XDoclet的Encoding的设置。这时,XDOCLET默认的输入编码是系统编码,输出编码就是UTF-8(不清楚是不是全部是这样,反正在我这里是这样),所以,当我们在WINDOWS下工作时,它的默认源文件编码是GBK。当你的工程源文件的编码不是GBK时,则生成的文件里的中文就会是乱码了。
解决的方案很简单:建立一个自己的Build.xml,在task节里加上ENCODING属性就可以了。
推荐在Jbuilder 2007生成的TempAnt.xml的基础上改。方法是,将%WORKSPACE%\.metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet\下的tempAnt.xml和build.properties两个文件导入到工程根目录下,然后再修改。
注意:当你的工程又添加了新的源文件后,你可能需要修改这个文件内的<fileset>以包涵进新的文件。我的选择是,每当这时,又重新把JBUILDER生成的文件复制过来添加ENCODING。
最后,你需要修改工程的属性里的Builders,去掉XDoclet Builder前的勾。添加一个新的Ant Builder,如下图:
类别:Jbuilder2007 查看评论
文章来源:http://hi.baidu.com/hizsk/blog/item/1e954b2368690a539822edb5.html