【记录】Eclipse部署JavaWeb项目遇到的问题及解决方案
背景:github随便找了个JavaWeb项目跑着玩,但是没给配置步骤,只有源代码,找了一个常规的配置教程配出来运行全是404
- 首先解决404的问题,搜了好半天,才找到了一个改配置文件的方式,直接说结论,eclipse根本没找到项目的jsp代码在哪
那么在这里改一下就好,右键选中项目点击properities,然后选择图里的,按照项目实际情况,比如这个项目WebContent是前端jsp代码,src是后端Java代码,分别有一项就行,没有就会找不到代码 - 然后解决“找不到类”的问题,这是因为eclipse不知道要编译的Java代码在哪里,然后就自己默认弄上去了一个main文件夹,里面啥也没有,当然会找不到。解决办法,除了教程给的部署方法外,在Build Path中,需要额外设置一下Source选项卡,指向Java代码的正确路径
- 这时就能跑起来了,但是数据库会报错说Unknown character set index for field '255' received from server.AI说是字符集的问题,我改了一下但是没什么用,然后我又自行搜了一下,发现我用的mysql是8,但Libraries里的jar包是mysql5的,这里引用一下博客的原话:
原因是MySQL版本高,mysql的jar版本低造成mysql与jar的编码错乱引起的,我的MYSQL是8.0版本, 5.5 之前, UTF8 编码只支持1-3个字节;从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4;
然后把里面的jar包替换成新版本就行了,如果还是报错那只能回退自己电脑MySQL版本。谢天谢地,正常运行了。
- 注意事项:最好搞清楚开发者的JDK和Tomcat版本,如果版本不对,出现报错就很难解决,比如在 Tomcat 10 之前,Servlet API 的包名是 javax.servlet,而从 Tomcat 10 开始,包名改为了 jakarta.servlet 以适应 Jakarta EE 的命名规范,那版本太高必然会找不到类,谁能想到是版本太高改包名了呢……