博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
直接修改class文件内容即使是文本会导致App异常,正确方式是修改java再用生成的class替换掉原有的class...
阅读量:7062 次
发布时间:2019-06-28

本文共 622 字,大约阅读时间需要 2 分钟。

前几天来了个小任务,把某项目中某人的邮件地址改了下。

由于对项目不熟悉,于是采用find方式找出app中所有包含某人邮件地址的文件都找出来了。

xml,properties大约三四个,还有两个class。

当时也没想太多,把class像xml一样用VI改了,心想改的是可见文本,应该问题不大,然后重启tomcat。也没测试一下。

今天打开发布在tomcat上的url,发现打不开了,心想应该是修改class导致的。到tomcat_home的logs文件夹下一看,还真是那两个类出错了,而且当时没留下备份,当时那刻还是挺慌的。

于马上翻文档,终于从SVN上下载了当时代码,三年前的,当年的工具也没有,还好Java代码是全的,于是用MyEclipse新作工程,再导入需要的包,修改文本值,还好,class顺利编写出来了。

再FTP登录,用新class替换老class,重启TOMCAT,项目如愿跑起来了,这下子真正清楚,为啥很多文章反复强调一定要把配置信息写到xml或是properties文件里面了。对开发团队来说,也许修改XML和JAVA是同样的工作量,但是对运维团队就大不一样了。

有应急预案,冷静沉着应对问题是今天没出岔子的关键。

这件小事得到两个教训:1.修改文件前必须先备份好;2.class文件必须是编译的版本,不能是修改的。如果大不幸没有源码,只要反编译,修改得到的Java,再编译回去。

于是记之,希望对遇到同样问题的人有所帮助。

 

 

转载地址:http://gwill.baihongyu.com/

你可能感兴趣的文章
F5 LTM 在SIP消息负载均衡中存在的问题
查看>>
怎么安装docker registry
查看>>
findbugs eclipse 插件 及使用
查看>>
【微服务No.4】 API网关组件Ocelot+Consul
查看>>
微软以白金会员加入 OpenChain 开源组织
查看>>
windows下的套接字IO模型
查看>>
Session,cookie,localStorage
查看>>
Jenkins——持续集成服务器
查看>>
《利用Python进行数据分析·第2版》第12章 pandas高级应用
查看>>
[剑指offer] 二叉树的镜像
查看>>
ByteTCC 0.5.0-ALPHA1 发布,基于 TCC 的分布式事务管理器
查看>>
WPS Office 2019企业版全面升级,推出密级关键词和移动会议新功能
查看>>
【实操】如何安装及查看云监控
查看>>
企业上云之机房和BGP带宽篇(三)
查看>>
SEO优化:为什么要关注“网站抓取频率”?
查看>>
浅谈web接口测试
查看>>
Python——爬虫学习1
查看>>
智云大咖秀:怎样的稳定器才是摄影师的“灵魂辅助”?
查看>>
Android 学习之drawerlayout写侧滑菜单
查看>>
深度学习工程模板
查看>>