Hi,
Static variables (non-final) have their initial values loaded from the static initializer. Changing the static field values means modifying the static initializer. The JRebel Legacy agent will only re-run the static initializer if static fields were added or removed.
The JRebel Agent will not rerun the whole static block, however removing and re-creating the field will allow the new value to be picked up.
Static final primitives are inlinined by the compiler. However making changes here will also be reloaded as the compiler inlines the new values to the method bytecodes. However make sure all classes using such constants are reloaded after such a change as otherwise they see the old value.