tomcat替换.class文件并没有生效的原因(失效原因)(转)
紧急关头难免会替换class文件,但一定要注意一下几点。
1、小心class内中的project 的类的后,替换文件需要加上 $classMapper这个类, 编译成class的时候,会把public class 中的protected class 编译为$.class , 所以替换的时候也要找到这个class替换上, 不过对于这中替换,最好是打成war包替换.
2、替换完class,是否需要重启容器? 例如tomcat7是无需重启的,但是常量类不再规范的一个类的时候,可能修改了一个类,其他的编译好的仍然使用原值。
3、 超过5个class,有必要打war包,就不要单次的去替换class文件,不然出了问题还要还原上一个版本。
4、即使不重启容器,也要把缓存清除,也就是清除tomcat work下的目录文件。
5、如果替换的class文件中包含常量,但是常量类中的常量值没有替换,就会出问题。
6、清理tomcat缓存,进入tomcat根目录,删除work/catalina 下的所有东西。
7、实在不行,反编译工具查看(个人补充)
tomcat替换.class文件并没有生效的原因(失效原因)(转)的更多相关文章
- 项目部署后,替换.class文件不生效
昨天晚上踩了个坑,搞到晚上凌晨.今天感觉有必要总结一下菜的坑... 因为正式环境部署项目,有很多个服务器,有时候发包太慢,或者一些原因不可以轻易发包的.下面谈一下我的经历过程: 因为升级了版本,ip地 ...
- 直接修改workspace下的配置文件与tomcat下的文件
项目中直接修改workspace下的配置文件与tomcat下的文件,可是还有错误,例如修改了4个配置文件中的一个配置文件.经查如下: 直接修改workspace下的配置文件与tomcat下的文件,可能 ...
- tomcat下各个文件夹的作用
1.bin目录:这个文件夹包含的是启动/关闭tomcat的脚本,里面有startup.sh(Linux环境下启动tomcat脚本)和startup.bat(Windows环境下启动tomcat脚本), ...
- tomcat 更新class文件
在eclipse中写入新代码,debug并没有执行新的代码 原因:部署在tomcat的class文件没有更新,也就是当前的代码没有编译到tomcat的工作目录中 解决方案: project-clean ...
- shell脚本切割tomcat的日志文件
鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢 ...
- tomcat 禁止某些文件(夹)的访问
tomcat 禁止某些文件(夹)的访问 <!-- 不允许访问的文件以及文件夹 --> <security-constraint> <display-name>Tom ...
- Linux命令行批量替换多文件中的字符串【转】
Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...
- 解决tomcat的安装文件中点击startup.bat闪退的问题
遇到这样的问题的时候不要慌,可以使用下面的方式去解决! 如果不用Myeclipse部署Tomcat,使用Tomcat中bin文件加下的startup.bat启动服务会出现闪退的情况,其原因是没有为To ...
- Tomcat清理日志文件无法立即释放磁盘空间
1 自己删除了Tomcat的日志文件,但是依然显示磁盘百分百占用 进入Tomcat目录显示日志已经删除 查询磁盘空间依旧百分百占用 2 自己杀死Tomcat进程然后重启,成功释放空间 3 原因,通过网 ...
随机推荐
- mysql数据库定时备份
最近要用到mysql备份,就写了shell脚本用于备份. #!/bin/bash #定义备份的数据库名称 database=*** #定义备份的时间 currTime=$(date +%Y%m%d) ...
- [CF486D]有效集合-树形dp
Problem 有效集合 题目大意 给出一棵树,求出这棵树的不同联通子节点集合的数量,这些集合必须满足最大权值点减最小权值点小于等于d. Solution 再一次树d乱搞. 因为数据范围贼小,所以我们 ...
- 在Windows上安装Elasticsearch v5.4.2
前言 最近项目里为了加快后台系统的搜索速度,决定接入开源的搜索引擎,于是大家都在对比较常用的几个开源做技术调研,比如Lucene+盘龙分词,Solr,还有本篇要介绍的Elasticsearch.话不多 ...
- Java 9 揭秘(13. Collection API 更新)
Tips 做一个终身学习的人. 在本章中,主要介绍以下内容: 在JDK 9之前如何创建了不可变的list,set和map以及使用它们的问题. 如何使用JDK 9中的List接口的of()静态工厂方法创 ...
- vue数据绑定原理
一.定义 vue的数据双向绑定是基于Object.defineProperty方法,通过定义data属性的get和set函数来监听数据对象的变化,一旦变化,vue利用发布订阅模式,通知订阅者执行回调函 ...
- vue怎么样创建组件呢??
我知道vue中核心就是组件,但是组件是什么呢?组件有什么用呢?怎么用组件呢?怎么样创建自己的组件呢? 前面两个问题就不说了,这里来说说,后面的两个问题: 1)创建自己的组件 通过vue.extend( ...
- 【D3】cluster layout
一. 和其他D3类一样,layout 可以链式传递,使用简明的申明添加多种自定义设置. 二.API # d3.layout.cluster() Creates a new cluster layout ...
- if else 和switch case以及continue,break的区别
1,if 经常用于做区间判断 或者 固定值: break和continue的使用 break:用来结束循环结构或者switch case continue:结束此次循环进入 ...
- Python用Pillow(PIL)进行简单的图像操作
Python用Pillow(PIL)进行简单的图像操作 颜色与RGBA值 计算机通常将图像表示为RGB值,或者再加上alpha值(通透度,透明度),称为RGBA值.在Pillow中,RGBA的值表示为 ...
- 被DDOS攻击的解决方法
在DDOS分布式借"机"堵塞正常访问的非法攻击中,任何技术高手都成了文科生.只能用非专业的方法解决.DDOS攻击的重心是堵塞服务器,给域名解析访问造成困难,被攻击后我们可以采用以下 ...