常量类替换后在服务器部署不生效问题

今天遇到了一个奇怪的问题,一个常量类需要修改一个字符串,在服务器部署替换后,没有生效。

后经定位,发现在其他类中使用这个常量的时候,类中还是替换前的字符,这个就与java的预编译功能相关。
一个常量在java编译成class文件时,会把常量已经初始化到了class文件中,除非去修改这个文件,否则不会起效。