最近遇到的一些问题记录

作者: tcxurun 分类: Java 发布时间: 2015-06-26 23:37 ė 6 1条评论

1、部署在服务器上项目读取配置文件不对,配置文件的ip已经更改为服务器本机ip,但是web应用显示的还是之前开发版本时配置的测试ip,开始以为是实施人员改了配置文件没有重启tomcat,可是重启了两次都无效,把项目相关配置文件仔细检查一遍,没有什么不对的地方,再次重启tomcat,还是不对,重启服务器还是不行,最后把版本打包重新部署一次,还是这个问题,到处找资料都没有找到解决方法,而且在其他机器上测试都是正常的,百思不得其解。最后发现问题出在该tomcat下另外一个应用下面,这个应用虽然项目名字不同,但是项目结构类似,文件配置文件都叫:

file.properties

里面配置内容也相同

FILE_PHYSICAL_ROOT=\\\\192.168.0.111\\FileRoot\\xfxt

但是实际上这项目只是用来收集和公司另外一款.net开发的客户端产品的数据并在web端展示出来,没有文件上传下载功能,但是开发人员搭建项目的时候按照其他项目搭建,并把配置文件直接复制过来,数据库连接知道修改,但是这个没有修改。而另外一个项目读取配置文件的时候没有读取项目本身的配置,而且读取到这个项目的配置文件,所以虽然我在那个项目修改了,也重启了tomcat,但是错误依旧。解决方法:将另外项目配置文件的该行配置删除。

2、修改公司一个旧项目的时候,遇到一个问题,如果增加的字段是varchar类型,虽然在.hbm.xml中已经配置了,但是启动后数据库不能自动生成相对应的列。查了一下字段,原来MySQL有个限制:

VARCHAR长度的编码限制 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。

该类有很多字段,而且许多字段都设置为500,1000,由于增加新字段的长度加上之前的超过这个限制,所以不能根据hibernate映射文件自动生成。解决方法:将一些大长度字段类型由varchar改为text类型。

3、调用String类的replace()方法不起作用,由于String类是final,不可改变的,虽然调用了,但是原字符串没有改变,而且返回一个新的字符串,所以应该定义一个新的变量来指向返回的字符串:

String newStr = str.replace("A","B")

本文出自天一直很蓝,转载时请注明出处及相应链接。

本文永久链接: http://www.tcxurun.cn/archives/423

一条评论

  1. 小苍MM 2015 年 12 月 3 日 上午 1:20 回复

    顶起来!!不好碰到的好文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Ɣ回顶部