发生非法反射访问操作,Java telegram bot

An illegal reflective access operation has occurred, Java telegram bot

我一直在使用这个 library 来尝试 运行 使用 Java 的 Telegram 机器人。 我使用 Gradle 设置项目以使用依赖项。

我的项目层次结构如下:

.gradle
build
gradle
src
 -main
  -java
   -Main.java
   -MyAmazingBot.java
build.gradle
gradlew
gradlew.bat

这是我用来设置 Gradle 的 guide。我使用 Gradle 包装器来构建 运行ning.

但是,我收到以下警告:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils (file:/C:/Users/addis/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.1.0/eeb69005da379a10071aa4948c48d89250febb07/guice-4.1.0.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils
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

但机器人 运行 很好(它回显了我的消息)。

1) 此消息是否值得关注?

2) 是否可以使用 java -jar 运行 jar 文件?我收到一条消息 no main manifest attribute, in .\build\libs\fsc2.jar

3) 是否可以 运行 ./gradlew run 不使用 Gradle 的包装器?

这显然是由于 Guice 与 Java9 之间的不兼容。请参阅下面的问题 link。

目前还没有修复。不过

  • 这只是一个警告,
  • 问题评论中有一个解决方法可以关闭所有这些非法访问警告。

问题link:

我不认为 Gradle 确实有错。看来问题出在Telegram / Guice / Cglib。