我有一个基于 Spring Framework 的 JavaFX 应用程序。我试图让它作为一个 Android 应用程序工作。
我正在使用 gluonfx-gradle-plugin 等 gluonfx-gradle-plugin。 (1.0.18 版)
运行 nativeCompile 任务时,出现以下错误:
[默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: No instances of ch.qos.logback.classic.Logger are allowed in the image heap 作为此类应在图像运行时初始化。对象已由 io.netty.util.NetUtil 类初始化器初始化,带有跟踪:
[默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at ch.qos.logback.classic.Logger.(Logger.java:105) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at ch.qos.logback.classic.Logger.createChildByName(Logger.java:360) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:156) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:54) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:391) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at io.netty.util.internal.logging.Slf4JLoggerFactory.newInstance(Slf4JLoggerFactory.java:49) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] 在 io.netty.util.internal.logging.InternalLoggerFactory.getInstance(InternalLoggerFactory.java:134) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] 在 io.netty.util.internal.logging.InternalLoggerFactory.getInstance(InternalLoggerFactory.java:127) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at io.netty.util.NetUtilInitializations.(NetUtilInitializations.java:38) [默。 AVR。 19 15:21:06 CEST 2023][INFO] [SUB] at io.netty.util.NetUtil.(NetUtil.java:145)
[默。 AVR。 19 15:21:06 CEST 2023][信息] [子]。 使用 --initialize-at-build-time=ch.qos.logback.classic.Logger 修复构建时初始化的问题标记 ch.qos.logback.classic.Logger 或使用跟踪中的信息查找罪魁祸首和 --initialize-at-run-time= 以防止其实例化。
我试图解决在 build.gradle 的 gluonfx 块中添加此块的问题:
gluonfx {
...
compilerArgs = ["--trace-object-instantiation=ch.qos.logback.classic.Logger",
"--initialize-at-run-time=ch.qos.logback.classic.Logger"
]
...
}
但这不会对 nativeCompile 结果产生任何变化。
除了这个问题。 我有很多警告:
[默。 AVR。 19 CEST 2023][INFO] [SUB] 警告:无法注册 io.netty.handler.codec.compression.Lz4FrameDecoder:queryAllPublicMethods 以进行反射。原因:java.lang.NoClassDefFoundError:net/jpountz/lz4/LZ4Exception。 [默。 AVR。 19 CEST 2023][INFO] [SUB] 警告:无法注册 io.netty.handler.codec.compression.Lz4FrameDecoder:queryAllPublicMethods 以进行反射。原因:java.lang.NoClassDefFoundError:net/jpountz/lz4/LZ4Exception。 [默。 AVR。 19 CEST 2023][INFO] [SUB] 警告:无法注册 io.netty.handler.codec.compression.Lz4FrameEncoder:queryAllPublicMethods 以进行反射。原因:java.lang.NoClassDefFoundError:net/jpountz/lz4/LZ4Exception。 [默。 AVR。 19 CEST 2023][INFO] [SUB] 警告:无法注册 io.netty.handler.codec.compression.Lz4FrameEncoder:queryAllPublicMethods 以进行反射。原因:java.lang.NoClassDefFoundError:net/jpountz/lz4/LZ4Exception。 [默。 AVR。 19 15:33:19 CEST 2023][INFO] [SUB] 警告:无法注册 io.netty.handler.codec.marshalling.CompatibleMarshallingDecoder:queryAllPublicMethods 以进行反射。原因:java.lang.NoClassDefFoundError:org/jboss/marshalling/ByteInput。 ...
重要吗?
拜托,有人可以给我一些指导来解决这个问题吗?
谢谢。