微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Akka快速入门:发生了非法的反射访问操作

如何解决Akka快速入门:发生了非法的反射访问操作

在Mac终端上运行官方Akka Quickstart时,出现此错误

Getting org.scala-sbt sbt 1.2.8 ...
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.ivy.util.url.IvyAuthenticator (file:/Users/helios/eclipse-workspace/akka-quickstart-java/sbt-dist/bin/sbt-launch.jar) to field java.net.Authenticator.theAuthenticator
WARNING: Please consider reporting this to the maintainers of org.apache.ivy.util.url.IvyAuthenticator
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
reStart

这是预期的结果吗?我该如何解决这个问题?

解决方法

这是警告,不是错误。

这是《 Oracle JDK 9迁移指南》的引文

https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-7BB28E4D-99B3-4078-BDC4-FC24180CE82B

了解运行时访问警告

某些工具和库使用反射来访问JDK的仅供内部使用的部分。在将来的JDK版本中,将禁用这种非法的反射访问。在JDK 9中,默认情况下是允许的,并且会发出警告。

例如,这是启动Jython时发出的警告:

java -jar jython-standalone-2.7.0.jar
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/C:/Jython/jython2.7.0/jython-standalone-2.7.0.jar) to method sun.nio.ch.SelChImpl.getFD()
WARNING: Please consider reporting this to the maintainers of jnr.posix.JavaLibCHelper
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
Jython 2.7.0 (default:9987c746f838,Apr 29 2015,02:25:11)

如果您看到这样的警告,请与工具或库的维护者联系。警告的第二行将命名为确切的JAR文件,该文件的代码使用反射来访问JDK的内部部分。

默认情况下,在Java启动器启动的进程的生存期内,最多会发出一个有关反射访问的警告。警告的确切时间取决于执行反射访问操作的工具和库的行为。该警告可能会在该过程的生命周期早期出现,或者在启动后很长时间出现。

您可以使用--add-opens命令行标志逐个库地禁用警告消息。

,

我也有同样的警告,但随后出现一个NullPointerException,即“ this.text”为null ...对不起,我现在没有错误

我使用的是Java 11,当我切换到Java 8时,一切正常!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。