web-dev-qa-db-fra.com

Groovy - AVERTISSEMENT: une opération d'accès réflectif illégale s'est produite

Je suis assez nouveau sur Java et groovy. J'ai installé Groovy 3.0 sur mon ordinateur portable Windows 10 (64 bits) et lorsque j'ai essayé de l'exécuter, il a reçu l'avertissement suivant: 

>groovy -v
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/C:/groovy-3.0.0-alpha-1/lib/groovy-3.0.0-alpha-1.jar) to method Java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Groovy Version: 3.0.0-alpha-1 JVM: 9.0.1 Vendor: Oracle Corporation OS: Windows 10

Et la version Java est:

Java --version
Java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

Toute aide pour résoudre ce problème.

11
Here_2_learn

C’est plus qu’un «avertissement» pour moi: je ne parviens pas à exécuter les scripts Groovy (sous macOS) avec la JVM 9 actuelle, et encore moins 10. version antérieure de Java, afin que vous puissiez basculer en cas de besoin. 

6
T Semple

Bien que mon environnement soit Linux, après avoir eu du mal à installer Groovy sur l’environnement Grails pendant quelques jours, j’ai l’impression de connaître la réponse: utilisez JDK 8 pour le moment. Je jouais avec JDK 9 et je pensais que c’était trop loin derrière. J’ai donc essayé JDK 11, ce qui a encore aggravé la situation. Il semble que Groovy/Grails accuse un retard considérable en termes de compatibilité des versions Java.

Une fois que le nouveau Groovy sera publié (ce sera la fin de cette année), le nouveau JDK pourra également être utilisé.

0
Csaba Toth

Pour désactiver les avertissements, vous pouvez transmettre --add-opens à la machine virtuelle Java, voir détails ici . Malheureusement, Groovy nécessite beaucoup de modules/packages à ouvrir, voir ceci (actuellement annulé) commit ( source ). Je viens de les tester avec AdoptOpenJDK 11.

0
crusy