eclipse修改jsp 都要重启tomcat才能更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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有没有开启自动编译

以上是关于eclipse修改jsp 都要重启tomcat才能更新的主要内容,如果未能解决你的问题,请参考以下文章

为啥在eclipse中修改JSP后tomcat自动重启?

JSP更换class文件后,一定要重启Tomcat吗?

关于eclipse部署tomcat关系探究

eclipse3.4中为啥修改jsp和java文件时需要重启服务器

修改JS文件都需要重启Idea才能生效解决方法

Idea-每次修改JS文件都需要重启Idea才能生效解决方法