From JDK12 it is not possible to drop 'final' modifier

Enrico Olivelli eolivelli at gmail.com
Wed Nov 7 16:42:26 UTC 2018


Hi,
I am investigating this case about PowerMock, which is not able to
remove the 'final' modifier from a Field
https://github.com/powermock/powermock/issues/939

Is there any suggested alternate way to remove such modifier ?

I understand clearly that it is against how the JVM works and I really
appreciate this "change", but this is blocking tests of several
projects.

The only work-around I see is to not use "final" modifier for things
that aren't really "final", but for instance my case is that "in
production" I want the field to be treaded as "final" (in particular
"final static" initialized with System Properties) but in unit tests I
would like to be able to change the value without spawning a new JVM.

I did not find any JIRA about this behavioral change, do you have any pointer ?

If this is the direction (and I totally support it) I will be fine and
adapt to the new rules.

Thanks
Enrico Olivelli


More information about the core-libs-dev mailing list