今天早上9点多的时候,老师在微信群里面发了实习任务,是一个压缩包,里面包含公司的所用框架开发文档和一个demo。
其中有四个开发文档和一个demo压缩包
- 一个UI的文档
- 一个Java编码规范文档
- 一个Velocity用户手册
- 一个公司自主框架的开发框架培训手册
- 一个公司自主框架的开发指引
这几个文档的更新时间是2017-12-11到2017-12-18,距离今天19-05-17时间有点久远。
我把demo压缩包解压出来后,懵了,17年的框架,我以为怎么也会用到maven来管理依赖,结果没有,就是一个纯粹的N年前的Servlet开发时的结构方式,通用的目录结构。jar依赖使用手动复制jar文件到WEB-INF/lib路径的方式,非常的古老。
好吧,古老就古老吧,我先跑一遍在说,使用我最熟悉的IDEA打开项目,我再次懵逼,二连懵逼。
- 懵逼一:目录结构不匹配,还需要重新更改项目配置,也不是maven结构,无法直接运行
- 懵逼二:文件是GBK编码的,让我这个从来只信奉UTF-8的人无法下手
先从文件编码开始说,发现在IDEA中识别所有java文件是GBK编码,但是IDEA默认用UTF-8打开,导致中文乱码问题。但是那些xml配置文件IDEA用utf8打开却是没有乱码问题,而里面的properties配置文件也是GBK编码。
没办法,utf8强迫症,想办法把所有的文件转成utf8,在网上查了一大波方法,最后为了高度可定制性,自己写一个转编码的代码,又是各种查资料,就这样3个小时过去了,此时已经到了深夜0点过后,跑一便程序,编码转换成功,看起来可以正常使用。
OK,编码已经转换,但是还有项目配置没有配置好,无法直接使用当前的目录结构。
考虑到目前大公司都使用maven来管理项目依赖和构建项目,因此创建一个空的maven项目,把旧项目的东西按照它的功能/类型分别复制到maven项目的不同路径下,此时它们是这样的。
由于是把GBK转成UTF8编码,文件中还有很多的GBK标识,特别是在html中,因此Ctrl+Shift+R全局替换一下”GBK”字符串,就在此时,又发现项目中的问题。
在我们的sql文件中数据库表结构的创建语句的字段说明,全部有问题,都是”?”问号,对比了一下原始的文件,好吧,不是我转码的问题,是本来就有的,应该是之前的人员导出来的时候没有处理好导致的,那就不管了。
先设置一下IDEA启动时使用Tomcat启动,把WEB-INF/lib的依赖引入一下。
OK,完成,跑一下项目。。。。
诶黑,报错了,编译失败,提示我没有javax.servlet
的依赖,好吧,我在maven中添加这个依赖进项目中
1 | <dependency> |
刷新项目,重新下载依赖信息。然后重新启动项目,诶诶诶诶诶诶诶诶诶,又错了。控制台提示我XXXXXXXXX.xml文件找不到, 经过查看,这些xml文件在java的路径下,与java文件放在一起,不在maven项目的resources中。
好吧,我需要手动的把这些xml文件从java路径中复制到resources中,并且需要保证它们的路径没有问题,这是最笨的方法,此时已经懒得写代码来完成这个操作了。
处理完xml路径后,再跑一下,没问题,能够跑到Hibernate这一步了,但是数据库链接不上。这是因为我没有创建数据库和导入数据,不管了,先这样了。
接下来查看一下这个项目的一些文件代码和配置什么的,对比一下未处理前,和处理后的两个项目文件,又又又发现问题了。
问题一,未处理前的项目居然有部分文件的编码是utf8的,还有一些文件的缩进使用好几种方式,比如2空格,3空格,4空格,tab缩进,这些都有,亮瞎了我的眼睛。
做完这些已经深夜1点多了,不管了,休息,躺床上玩手机。
- 该日记完成:2019-05-19 00:39
- 该日记记录内容为2019-05-17 晚9点后的内容
2019-05-22 更新
说了那么多转换编码,转换目录结构的,最后我们肯定要回到最原始的目录结构,与团队其他成员保持着开发一致的问题。
那么请看Eclipse和IDEA同时开发WEB项目配置教程