问题描述:
项目中为了方便管理常量,把常量统一定义在一个java类中。如:
public Interface Contant{
String NAME = "A";
}
更改NAME="B"后,使用ANT打包,发现引用NAME的地方,NAME的值仍然是“A”。
问题产生原因:
使用了Contant.NAME这个常量的地方,代码上是通过Contant类取得的这个值,实际上在被编译为class文件后,是直接将Contant.NAME替换为其声明的常量值。所以修改Constant.NAME后,ant不会重新编译引用Contant.NAME的class文件。
解决方法:
本人每次修改过常量,都会将ant编译过的所有文件删除,全部重新编译一次。
如果你有更好的方法,希望你能留言给我。