Eclipse中项目使用jetty运行起来,在开发中经常要修改html 和js代码,发现只要被浏览器访问过的html或者是js,都会被锁住,修改之后无法保存,无论是在Eclipse里面保存还是在外部都无法保存。错误提示如下图:
[img]http://dl2.iteye.com/upload/attachment/0106/8314/35c239eb-aaef-3987-826f-9a8235cf41b7.png[/img]
后来在网上发现原因:jetty 缓存了静态的html,js 和css等,不能被修改,但是JSP文件是可以修改的。
解决方法是 修改jetty jar 里面的 webdefault.xml 的useFileMappedBuffer为false
jetty的jar包放在你本地的maven仓库里,不同的jetty版本webdefault.xml在不同的路径下如:
1、jetty6:
[img]http://dl2.iteye.com/upload/attachment/0106/8344/4aff5ee3-1f36-3af6-b074-0db5a672ba8c.png[/img]
webdefault.xml在jar包中的路径:jetty-6.1.26.jar\org\mortbay\jetty\webapp
2、jetty8:
[img]http://dl2.iteye.com/upload/attachment/0106/8438/c3772e18-f174-3a5b-812d-5e2974f40950.png[/img]
webdefault.xml在jar包中的路径:jetty-webapp-8.1.8.v20121106.jar\org\eclipse\jetty\webapp
使用winRAR打开jar包中的webdefault.xml,把useFileMappedBuffer为false
[img]http://dl2.iteye.com/upload/attachment/0106/8352/6e195ec9-9a4c-3174-af58-9960e61bcd89.png[/img]
保存修改,项目重新用jetty跑起来就ok了。
(PS:jetty有可能存在多个 本地maven库的org.eclipse和org.mortbay路径下都会有jetty,如果该了还是不行,可能是你改错地方了)
[img]http://dl2.iteye.com/upload/attachment/0106/8314/35c239eb-aaef-3987-826f-9a8235cf41b7.png[/img]
后来在网上发现原因:jetty 缓存了静态的html,js 和css等,不能被修改,但是JSP文件是可以修改的。
解决方法是 修改jetty jar 里面的 webdefault.xml 的useFileMappedBuffer为false
jetty的jar包放在你本地的maven仓库里,不同的jetty版本webdefault.xml在不同的路径下如:
1、jetty6:
[img]http://dl2.iteye.com/upload/attachment/0106/8344/4aff5ee3-1f36-3af6-b074-0db5a672ba8c.png[/img]
webdefault.xml在jar包中的路径:jetty-6.1.26.jar\org\mortbay\jetty\webapp
2、jetty8:
[img]http://dl2.iteye.com/upload/attachment/0106/8438/c3772e18-f174-3a5b-812d-5e2974f40950.png[/img]
webdefault.xml在jar包中的路径:jetty-webapp-8.1.8.v20121106.jar\org\eclipse\jetty\webapp
使用winRAR打开jar包中的webdefault.xml,把useFileMappedBuffer为false
[img]http://dl2.iteye.com/upload/attachment/0106/8352/6e195ec9-9a4c-3174-af58-9960e61bcd89.png[/img]
保存修改,项目重新用jetty跑起来就ok了。
(PS:jetty有可能存在多个 本地maven库的org.eclipse和org.mortbay路径下都会有jetty,如果该了还是不行,可能是你改错地方了)