qruet / AnvilLot

Allows for vanilla anvils to extend beyond the vanilla price cap of 39 experience in a non intrusive way.
6 stars 4 forks source link

Illegal reflective access warning #6

Closed fafrd closed 4 years ago

fafrd commented 4 years ago

Server Version What spigot/paper/craftbukkit/etc. version are you using?

This server is running Paper version git-Paper-132 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT)

Plugin Version What version of MaxRepairCost are you using?

latest, bab9f25df10dfbc199ce1912e1d8d2c72620f1bd

Describe the bug The following warning shows in the log:

Mar 28 08:06:26 fuzz python3[8419]: WARNING: An illegal reflective access operation has occurred
Mar 28 08:06:26 fuzz python3[8419]: WARNING: Illegal reflective access by me.geekles.repaircost.listeners.AnvilManagementListener (file:/home/minecraft/gamesrotation/plugins/MaxRepairCost.jar) to field java.lang.reflect.Field.modifiers
Mar 28 08:06:26 fuzz python3[8419]: WARNING: Please consider reporting this to the maintainers of me.geekles.repaircost.listeners.AnvilManagementListener
Mar 28 08:06:26 fuzz python3[8419]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
Mar 28 08:06:26 fuzz python3[8419]: WARNING: All illegal access operations will be denied in a future release 
qruet commented 4 years ago

Sorry for the delayed response but this issue is a known issue that unfortunately comes with more recent versions of java that check for unsafe manipulations of private fields marked as final. This isn't an issue, fortunately, that affects the plugin's performance in any way and is only a suggestive warning. JDK versions 12 - 14 provided tools that safely manipulate fields marked as final but such tools do not yet exist for the version of java you're using. For this reason, I can not quite get rid of this error from popping up on servers using the most recent versions of java prior to 12 without totally suppressing errors completely which would be bad for debugging purposes and would affect the entire server, not just the plugin's own errors. My only recommendation is to ignore it or update to a later version of Java.