网站在每次修改源码后都要重启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"的话就要考虑使用手动去部署试下了。

参考技术A

 在tomcat安装目录中找conf/server.xml   用文本编辑器打开,在host标签内     加入如下代码

这是oracle数据源的

<Context path="/访问名" reloadable="true" docBase="项目绝对路径\\WebRoot">
        <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吗的主要内容,如果未能解决你的问题,请参考以下文章

每次修改完jsp代码都要重启eclipse

tomcat替换jar需要重启吗

tomcat服务器重新部署工程或者修改了项目的代码就必须重启tomcat吗?

tomcat的服务器过十几个小时就连不到数据库,重启一下tomcat就好了,每次都要重启tomcat,是哪出问题??

VS2013每次打开一次后都必须重启

虚拟机安装的linux,ip地址每次重启后都自动改变了,修改后第一次重启网络会生效,再次重启网络就变回来了