解决方法:
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数据源的
maxActive="100" maxIdle="30" maxWait="10000"
username="用户名" password="密码" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"/>