开发者社区> 问答> 正文

tomcat发布项目,项目中有汉字类名,给力ing、:报错

问题原因:用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读取文件的时候可能文件为乱码,关键在读取的时候可能有问题。有遇到相同问题的么?讨论下。

 

展开
收起
kun坤 2020-06-07 16:57:18 538 0
1 条回答
写回答
取消 提交回答
  • 中文类名跟 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默认会取系统默认编码

    2020-06-07 16:57:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载