公司要升级开发环境,作为小白鼠义不容辞。
使用MyEclipse2017 stable 1.0 作为开发环境验证之前的项目能否跑起来。
过程是很顺利的(怎么破解百度吧,目前运行还没有碰到情况)。
导入项目,也很顺利。。
发布到tomcat,没有问题。。
访问系统主页,登陆,都没有问题。。
看看功能吧,有问题了。
前台提示404
后台提示:freemark的异常,主要信息:Encountered "-", but was expecting:"="。
好吧,百度一下。
什么没有任何消息
那谷歌一下吧
有一个csdn遇到相同问题的人,帖子上面没有多少人恢复,也没有解决方案。那哥们应该已经换系统去了,不过他的是Myeclipse6.5,应该是编码问题:jvm上面加上 -Dfile.encoding=UTF-8 应该就可以了。
我和同事开始了疯狂的搜索模式,关键词如下:
tomcat8.5 freemart 冲突
myeclipse2017 tomcat
freemart Encountered "-", but was expecting:"="
等等等。。。。。。。。
我已经晕乎了
答案好像只有一个jvm编码问题。
过了一天
还是搜索。。。依旧没有答案
我开始想,看来没有人踩过这个坑。
那就一步分析吧
既然提到是我html模板中的第一行有问题,那我就看看第一行有什么
<#include "/common/global.html"/>
额,引用了一个通用页面,里面是一些常用js、css引用,应该没有问题呀
global.html文件清空看看,依旧
期间还看过global.html的编码问题,貌似百度有提到 UTF-8 和 UTF-8+BOM 的问题。
16进制查看global.html,没有问题。
那我想,干掉这一行怎么样
我去,居然好了,前台代码有了,看来好像就是这一句话有问题了。
我开始尝试,修改它,一律不起作用。
后来老大说了一句,把global.html里面的内容复制到页面html模板中看看。
看看就看看
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>${title!}</title>
<#include "/common/g.html"/>
<style type="text/css">
html,body{width:100%;height:100%;}
*{margin:0;padding:0;}
</style>
<script type="text/javascript" src="${path!}/jsp/common/util.js"></script>
<script type="text/javascript">
var path = "${path!}" ;
</script>
</head>
</html>
粘贴过去,尼玛居然好了,页面正常显示了。
可是这里面也有个<#include "/common/g.html"/>
看来不是之前的那个问题。
究竟是那个呢?
我换上 jdk7,不行
tomcat 6、7、8 统统不行
tomcat7 32位 还是不行
我确定了看来不是环境的问题,是myeclipse的问题。
想起了正常页面上面有个
死马当作活马医吧,这个还是不能解决,看来升级开发环境要推迟了。
百度了一下,这个叫codeLive 在servers视图中有按钮开关,选择服务器,点击它disable codeLive
clean project
重新发布,胜败在此一举。
再次访问,所有功能都正常了!!!!!!!!!!!!
本来以为 codeLive这个小悬浮窗挺酷的,还可以帮我调试代码,看来很多时候我是用不上的啦。
附:可以在第一行是<#include "/common/g.html"/>这种类型的前面在加代码来屏蔽codeLive对功能造成影响,同时也可以体验codeLive 这个新功能了。
很是抓狂,特来留念,写的不好,多多担待。
-----开源中国这个编辑器很好用,不知道开源了没有。