tomcat 更新class後,靜態變量沒有更新

 例如  

類
public class User(){
    public static final String name="test";
    public static final int age=12;


}




再一個service中引用user

public class TestUser(){
    public String getUserName(){
        String name=User.name
        return name
}

}

如果更改了User 中的name

public class User(){
    public static final String name="測試";
    public static final int age=12;


}

將User編譯上傳到tomcat  重啓tomcat  

此時會發現TestUser 中 getUserName 獲取的數據是“test” 而不是  “測試”

原因  打開 TestUser.class文件 會發現

getUserName 方法中  String name=User.name  真實的代碼是 String name=“test” 而不是  String name=User.name 

如若想要生效需要將TestUser 類也部署一下

其他辦法還沒研究

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章