目前维护的一个系统很是奇怪,必须将servers的publishing选项设置为never publish automatically,否则一登录系统tomcat立马重新加载应用,但是更改设置之后也不爽,对代码作出的修改不能立即生效了。真可谓是不想让你重启吧你非要重启,想让你重启吧还要点击一下publish to the server,令我郁闷之极。
光郁闷不行,得想办法解决啊,于是乎,开始断点调试,我看到底是哪个惹的祸。最后,定位到一块在web根目录下创建目录的操作代码段,只要执行完那句,立马让tomcat重新加载,非常好使。
我暂时想到的办法是,要么把这个目录移到webroot的外部,要么把创建目录改为创建不同名的文件,要么不改了顶多手工重启tomcat吧。
我非常好奇的是,除此之外还有什么别的办法呢,望遇到过此类问题的同路人能够指点迷津。
附上tomcat自动重新加载应用的控制台输出
2009-9-4 14:38:22 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started
2009-9-4 14:38:25 org.apache.catalina.loader.WebappClassLoader loadClass
信息: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.profiler.ProfilerEventHandlerFactory. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4315)
at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1461)
at com.ibatis.common.jdbc.SimpleDataSource.forceCloseAll(SimpleDataSource.java:507)
at com.ibatis.common.jdbc.SimpleDataSource.finalize(SimpleDataSource.java:738)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
分享到:
相关推荐
- reloadable属性:当设置为true时,允许Tomcat在运行时监测在WEB-INF/classes目录和WEB-INF/lib目录下的类文件的改变,如果类文件被更新,应用将自动重新加载。这对于开发阶段非常有用,但会略微降低服务器的性能,...
在Windows系统中,你需要配置两个环境变量:`CATALINA_HOME`指向Tomcat的安装目录,`PATH`添加 `%CATALINA_HOME%\bin`,这样可以在命令行中直接运行Tomcat的管理工具。 **步骤三:启动Tomcat** 进入Tomcat的bin目录...
本篇文章将详细讲解在不使用Eclipse内置的Tomcat插件(例如,Eclipse的WTP - Web Tools Platform)的情况下,如何创建并运行一个Tomcat工程。这将涉及到手动配置Tomcat服务器和在Eclipse中设置项目属性。 1. **安装...
创建完成后,Eclipse会自动生成项目结构,包括Web-INF目录下的web.xml文件,这是Web应用的部署描述符,用于配置应用的各个组件和服务。 在Web项目中,我们需要编写Servlet和JSP文件。Servlet是Java Web开发中的核心...
总结来说,Tomcat的启动顺序是一个自底向上,从核心到应用的过程,依次加载Bootstrap、System、Common、Shared和WebApp类加载器,确保了服务的正确初始化和Web应用程序的隔离运行。理解这一启动流程对于调试、优化和...
如果项目是在某些集成开发环境(IDE)如MyEclipse中创建的,那么需要指定的是项目的`WebRoot`目录,这是因为IDE管理项目的目录结构可能会包含额外的文件夹层次,而Web应用程序的入口目录通常是`WebRoot`。...
标题“Tomcat7部署应用”涉及的是在Apache Tomcat 7服务器上发布和运行Web应用程序的基本过程。Apache Tomcat是一款开源的Java Servlet容器,广泛用于部署Java Web应用。以下是关于这个主题的详细知识点: 1. **...
在Tomcat服务器上部署并运行Web项目是Java EE开发中常见的操作,通常涉及以下知识点: 1. **Myeclipse IDE的使用**:Myeclipse是一个集成开发环境,它支持多种应用程序开发,包括Java EE。Myeclipse通常用于Web项目...
本文主要讲解了如何使用 Tomcat 和 Eclipse 开发 Web 应用程序,包括如何创建一个新的 Web 项目、如何配置 Tomcat 服务器、如何将项目部署到 Tomcat 服务器上。 创建新的 Web 项目 首先,在 Eclipse 中创建一个新...
此时,项目会被自动复制到Tomcat的`webapps`目录下,通常会作为一个名为`ROOT`的应用程序运行。 这种方式的优点在于它提供了高度自动化的过程,使得开发者可以更专注于代码编写而不是部署细节。 #### 二、使用...
这个Demo项目展示了如何在较旧的环境,如JDK 1.6和Tomcat 6上运行SpringBoot 1.5.6的Web程序。尽管SpringBoot通常建议使用更新的Java版本和内置的Tomcat服务器,但有时由于兼容性或遗留系统的需求,可能需要在较低...
这本书全面覆盖了Tomcat的基础知识、高级特性以及实战技巧,旨在帮助开发者熟练掌握在Tomcat上构建、部署和优化Web应用的全过程。 1. **Tomcat基础**:Tomcat是一个开源的、轻量级的Java Servlet容器,主要用于运行...
### Windows下Tomcat服务添加到系统服务 #### 一、引言 在Windows环境中,将Apache Tomcat应用服务器作为系统服务进行管理是非常实用的操作。这样做不仅能够提高系统的稳定性,还能简化日常运维工作流程,比如避免...
3. **错误处理**:如果热部署过程中出现错误,如编译错误或类加载问题,可能会导致应用程序进入不稳定状态,此时可能需要手动干预或重启服务器来恢复。 为了优化热部署的效果,建议在开发环境中使用,而在生产环境...
当Tomcat服务器启动或重新加载时,它会自动解压WAR文件,并创建一个与WAR文件同名的目录来运行Web应用。在此案例中,目录名为"webspoon"。 在部署完成后,用户可以通过Web浏览器访问Webspoon。在地址栏输入...
在IT行业中,尤其是在Java Web开发领域,Tomcat服务器是一个广泛使用的应用服务器,它负责运行和部署Servlet和JSP应用程序。然而,"解决Tomcat不能部署"的问题常常困扰着开发者,尤其是那些使用MyEclipse集成开发...
开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径
【描述】:本教程主要涵盖了与Web应用服务器Tomcat相关的知识,通过一系列视频课程,深入浅出地讲解了如何搭建LNMP架构,JDK的安装与配置,以及Tomcat的环境部署、目录结构解析和管理端配置等内容。以下是各视频课程...
- **操作步骤**: 将上述目录下的所有内容复制到Tomcat安装目录下的`webapps`文件夹内。 **1.3 复制JDK的tools.jar** - **复制位置**: `%jdk%\lib` → `%tomcat%\webapps\webroot\WEB-INF\lib\` - **目的**: 为了...