最近遇到的一些问题记录

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")

评论

  1. 8 年前
    2015-12-03 1:20:16

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

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇