网站在每次修改源码后都要重启Tomcat吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站在每次修改源码后都要重启Tomcat吗相关的知识,希望对你有一定的参考价值。
参考技术A 如果是修改html,图片,jsp,css,js等文件都不需要重启,不过再次访问时,要清理下浏览器缓存 参考技术B 开发阶段不用,如果是部署成class文件了就需要重启 参考技术C 肯定需要重启,生产环境和开发环境不一样 参考技术D 不需要。。会自动重启eclipse修改jsp 都要重启tomcat才能更新
build automatically的勾已经打上了,而且server.xml的reloadable="true",还是没有用
而且每次修改了jsp,都需要clean一下,然后重启服务,jsp页面才能更新
是在是太麻烦了,各位有什么解决办法吗
解决方法:
context节点中确定reloadable设置为true。
确定下自己的项目是怎么部署在tomcat的,还是要看server.xml文件中的context节点,看下该解冻中是否多了antiJARLocking="true"和 antiResourceLocking="true"这两个属性配置
如果多了也就是说明该项目实现了热部署了,如果这个参数为true,那么将组织任何文件锁。这将明显的影响应用的启动时间,但允许webapps,可能发生锁的平台和配置下,支持完整的热部署和热卸载。
如果不配置,默认值是false; 如果设置为true,有一些副作用,包括屏蔽了JSP文件在运行服务器上的重新加载。
如果设置为true,且部署在Host的AppBase目录外面(默认是webapps),在Tomcat关闭的时候将导致应用被删除。 最主要的就翻译到这里了。
实际上,如果为false,因为存在锁,在你重新发布的时候,可能出现部分代码无法更新。因为原始文件可能因为被锁住了,不能删除。
当然,如果为false,那么部署的目录就是和包名相同了。如果是false,则会每次都放到一个临时目录下面,一个temp目录。这也是这个配置引发的一个副作用。
另外的一个类似的配置 antiJARLocking 是防止jar类库被锁定而无法删除这个作用的。所以如果我们通过eclipse自动部署的方法后在server.xml文件一直存在antiJARLocking="true"和 antiResourceLocking="true"的话就要考虑使用手动去部署试下了。
在tomcat安装目录中找conf/server.xml 用文本编辑器打开,在host标签内 加入如下代码
这是oracle数据源的
<Resource name="jdbc/oradb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="用户名" password="密码" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"/>
</Context>追问
--我参考的这句改的,没用啊
那就是你eclipse没有设置自动编译 和tomcat没关系 这样设置的话 改jsp是不需要重启的 改java文件要重启 你看下eclipse有没有开启自动编译
以上是关于网站在每次修改源码后都要重启Tomcat吗的主要内容,如果未能解决你的问题,请参考以下文章
tomcat服务器重新部署工程或者修改了项目的代码就必须重启tomcat吗?