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