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

pgpifvop  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(176)

当在我的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

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

kknvjkwl

kknvjkwl1#

这是一个警告,而不是错误。
以下是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)

**如果您看到类似这样的警告,请与工具或库的维护人员联系。**警告的第二行指定了其代码使用反射访问JDK内部部分的确切JAR文件。

默认情况下,在Java启动程序启动的进程的生存期内,最多会发出一个有关反射访问的警告。警告的确切时间取决于执行反射访问操作的工具和库的行为。警告可能在进程生存期的早期出现,也可能在启动后很长时间才出现。
您可以使用--add-opens指令行旗标,逐一停用媒介柜的警告消息。

lkaoscv7

lkaoscv72#

我收到了同样的警告,但随后出现了一个NullPointerException,表明“this.text”为空...对不起,我现在没有该错误
我使用的是Java 11,当我切换到Java8时,一切都正常了!

相关问题