问题原因:用spring进行注入一个“中文”的接口类名,物流公司提供的,开发人员未更改采用中文类名发布到linux,linux中使用的tomcat6,会启动报错,在xp下没问题,代码如下defined in file [/usr/apache-soft/YiTianPlatform/WEB-INF/classes/com/belle/wms/interfacemanager/component/impl/tms/LogisticsDeliveyComponentImpl.class]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: com/belle/wms/wsdl/yto/定单查询结果
订单查询结果(这个是类名),很是纳闷,只是想寻求下结果。我更改了tomcat的 URIEncoding="GB2312"这个我个人理解的是请求进行编码,感觉这个问题是tomcat启动spring读取文件的时候可能文件为乱码,关键在读取的时候可能有问题。有遇到相同问题的么?讨论下。
中文类名跟 URIEncoding 是没有半毛钱关系的。
试试 javac 编译时指定 -encoding UTF-8 看看
######估计.java生成的.class是GBK编码的,所以XP下没问题,因为加载时能正确处理类名。
但Linux下默认编码是UTF-8.
可以在启动tomcat前,先执行一句:set LANG=zh_CN.GBK
######无聊。######问题已解决,thanks各位了,
vi /etc/sysconfig/i18n把所有编码改为自己想要的linux默认为utf8的改为GB2312或者GBK保存重启服务器即可。
######没制定编码,jvm默认会取系统默认编码
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。