I have a class with a private static final field that, unfortunately, I need to change it at run-time.
Using reflection I get this error: java.lan
The whole point of a final field is that it cannot be reassigned once set. The JVM uses this guarentee to maintain consistency in various places (eg inner classes referencing outer variables). So no. Being able to do so would break the JVM!
The solution is not to declare it final in the first place.