Groovy - WARNING: An illegal reflective access ope

2020-06-01 04:08发布

I am pretty much new to java and groovy. I have installed groovy 3.0 on my windows 10 laptop (64 bit) and when tried to run groovy getting following warning:

>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

And the java version is:

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)

Any help to resolve this.

标签: java groovy
5条回答
我命由我不由天
2楼-- · 2020-06-01 04:17

add groovy-version to your pom:

        <groovy.version>3.0.4</groovy.version>
查看更多
一纸荒年 Trace。
3楼-- · 2020-06-01 04:21

Although my environment is Linux, after struggling some days to setup Groovy on Grails environment I feel like I know the answer: use JDK 8 for now. I was fiddling with JDK 9, and I thought it was too far behind so I tried JDK 11, which made things even worse, I got actual crashes. It seems like that Groovy / Grails is heavily lagging behind in terms of Java version compatibility.

Once the new Groovy will be released (said to be end of this year) then newer JDK can be used as well.

查看更多
霸刀☆藐视天下
4楼-- · 2020-06-01 04:28

It is more than a 'warning' for me: I cannot get Groovy scripts to run (on macOS) with the current JVM 9, much less 10. The workaround (until a compatible version of Groovy is available) is to install jenv and an earlier version of Java, so you can switch when needed.

查看更多
该账号已被封号
5楼-- · 2020-06-01 04:37

To disable the warnings you can pass --add-opens to the JVM, see details here. Unfortunately Groovy requires a lot of modules/packages to be opened, see this (currently reverted) commit (source). Just tested these with AdoptOpenJDK 11.

查看更多
地球回转人心会变
6楼-- · 2020-06-01 04:39

Use the Java 8, however, if the java version must be 9 or >, you need to update the groovy version too.

I was running groovy 2.2.1 and it only works until java version 8

查看更多
登录 后发表回答