当在我的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
这是预期的结果吗?我该如何着手解决这个问题?
2条答案
按热度按时间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时发出的警告:
**如果您看到类似这样的警告,请与工具或库的维护人员联系。**警告的第二行指定了其代码使用反射访问JDK内部部分的确切JAR文件。
默认情况下,在Java启动程序启动的进程的生存期内,最多会发出一个有关反射访问的警告。警告的确切时间取决于执行反射访问操作的工具和库的行为。警告可能在进程生存期的早期出现,也可能在启动后很长时间才出现。
您可以使用
--add-opens
指令行旗标,逐一停用媒介柜的警告消息。lkaoscv72#
我收到了同样的警告,但随后出现了一个NullPointerException,表明“this.text”为空...对不起,我现在没有该错误
我使用的是Java 11,当我切换到Java8时,一切都正常了!