tomcat不能自动编译jsp文件

来源:互联网 发布:淘宝supreme正品吧 编辑:程序博客网 时间:2024/05/01 13:44
 

 在网上看到这样一段关于tomcat不能自动编译的问题说明

【Tomcat的热发布,应该都是按照文件的修改时间来判定的。如果Jsp文件修改时间更新了,也就是jsp的修改时间晚于work目录下java的修改时间,那么Tomcat会将这个jsp翻译成java文件,那么自然这个java文件的修改时间要晚于相应的class文件,那么Tomcat就会编译这个java文件替换相应的class文件,于是刷新页面就会得到正确的更新。而我的系统,不知出于什么原因,部分软件(Editplus,大部分调用java的IDE包括Eclipse,Jbuilder,但除workshop以外,都不能更新被编辑文档的修改时间,造成Tomcat不会翻译这个jsp。用Notepad或其他软件,虽然jsp被更新了,但Tomcat在翻译这个jsp的时候,也没有更新对应的java文件的修改时间,导致java文件和相应class文件虽然内容不同(我已经反编译过class,可以保证),但Tomcat仍然认为java文件没有更新,不需要重新编译class文件,所以也就看不到更新后的jsp了。 】

我试了一下有一定的道理。

但是这样的问题经常在tomcat中出现,不光是在编译环境下。

我们的生产环境用的tomcat,偶尔发现有一个页面不能编译,然后就停止tomcat并且将tomcat的工作目录(work)给清除了以后启动tomcat发现所有的jsp都不被编译了,当然我们的部署方式也是reloadable=true,试了一下午都不行(包括更换tomcat,应用部署目录,重启机器)。

最后,终于想到有一样事情没有做就是重新安装jdk,然后就重新安装了一下jdk,重启tomcat后终于好了。

 

写这样的文章页没有什么太多的技术含量,但是可以提醒一下为这种问题困扰的程序人员。

原创粉丝点击