今天在tomcat中出现了一个错误,是一个常量文件写入错误。修改了常量Java类文件编译后覆盖并没有解决问题。最初以为是缓存严重,清除了缓存,kill了Java进程还是问题还是依旧。最后没有办法,用jd-gui查看了一下编译后常量文件,并没有问题。这个时候太纳闷了。后来没办法,想想查看下调用常量的class 文件吧。这下找到了问题所在。
下面贴出代码解释:
首先在Constants.java中建立一个name常量,
在A.java中引用name常量。
编译后查看A.class文件:
可以看到无论我如何修改Constants.java中name的值,只要以前编译好的A文件不被重新编译的覆盖,我无论如何修改Constants.java中的值都没有用。这也是今天问题的原因所在。在这里写一篇博客记遇到的问题。
本文记录了一次在Tomcat中遇到的常量文件写入错误问题。即使修改了常量Java类文件并重新编译,若调用该常量的类文件未重新编译,则常量值不会更新。通过查看编译后的class文件确认了问题所在。
1335

被折叠的 条评论
为什么被折叠?



