【问题标题】:javafx graalvm Error: Classes that should be initialized at run time got initialized during image buildingjavafx graalvm 错误:应该在运行时初始化的类在映像构建期间被初始化
【发布时间】:2021-04-03 16:04:17
【问题描述】:

提前致谢。

所以我尝试使用 Maven 部署 JavaFX 应用程序。

它给了我这个错误

[Sat Apr 03 20:52:20 PKT 2021][INFO] We will now compile your code for x86_64-microsoft-windows. This may take some time.
[Sat Apr 03 20:52:24 PKT 2021][INFO] [SUB] Warning: Ignoring server-mode native-image argument --no-server.
[Sat Apr 03 20:52:34 PKT 2021][INFO] [SUB] [org.quiz.app:13608]    classlist:   8,862.50 ms,  0.96 GB
[Sat Apr 03 20:52:39 PKT 2021][INFO] [SUB] [org.quiz.app:13608]        (cap):   3,337.64 ms,  1.18 GB
[Sat Apr 03 20:52:41 PKT 2021][INFO] [SUB] [org.quiz.app:13608]        setup:   7,150.97 ms,  1.18 GB
[Sat Apr 03 20:53:08 PKT 2021][INFO] [SUB] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
[Sat Apr 03 20:53:08 PKT 2021][INFO] [SUB] SLF4J: Defaulting to no-operation (NOP) logger implementation
[Sat Apr 03 20:53:08 PKT 2021][INFO] [SUB] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB] To see how the classes got initialized, use --trace-class-initialization=org.slf4j.LoggerFactory
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB] [org.quiz.app:13608]     analysis:  71,925.59 ms,  3.23 GB
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB] Error: Classes that should be initialized at run time got initialized during image building:
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]  org.slf4j.LoggerFactory was unintentionally initialized at build time. To see why org.slf4j.LoggerFactory got initialized use --trace-class-initialization=org.slf4j.LoggerFactory
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB] com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building:
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]  org.slf4j.LoggerFactory was unintentionally initialized at build time. To see why org.slf4j.LoggerFactory got initialized use --trace-class-initialization=org.slf4j.LoggerFactory
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.core.util.UserError.abort(UserError.java:68)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.checkDelayedInitialization(ConfigurableClassInitialization.java:539)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.duringAnalysis(ClassInitializationFeature.java:226)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$8(NativeImageGenerator.java:735)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:70)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:735)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:558)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:471)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
[Sat Apr 03 20:53:53 PKT 2021][INFO] [SUB]      at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
[Sat Apr 03 20:53:54 PKT 2021][INFO] [SUB] Error: Image build request failed with exit status 1
[Sat Apr 03 20:53:54 PKT 2021][INFO] Additional information: Objectfile should be called org.quiz.app.obj but we didn't find that under F:\JavaFX\QuizApp\QuizApp\QuizApp\QuizApp\target\client\x86_64-windows\gvm
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[Sat Apr 03 20:53:54 PKT 2021][SEVERE] Compiling failed.
[INFO] Total time:  01:46 min
[INFO] Finished at: 2021-04-03T20:53:54+05:00
Check the log files under F:\JavaFX\QuizApp\QuizApp\QuizApp\QuizApp\target\client\x86_64-windows\gvm\log
And please check https://docs.gluonhq.com/client/ for more information.

我知道它为什么会出错。 我正在使用火力基地。所以很少有类在构建时初始化。那我该如何避免呢?

我评论了我在项目中完成的所有 firebase 代码,并再次对其进行了测试,然后它工作正常。但是当我再次包含火力基地时,我遇到了这个问题。 请帮忙

【问题讨论】:

  • 你运行mvn client:runagent了吗?这将为您提供更完整的 native-image 配置文件。然后你可以再次运行mvn client:build client:run
  • Maven 无法识别 runagent cmd
  • 你需要客户端插件 0.1.38
  • 好的,现在它说我需要更高版本的 graalvm,所以让我进行设置,我将再次需要你的帮助谢谢 jose Pereda,你太棒了
  • 我尝试运行 client:runagent 是否工作正常。我的应用程序运行良好。但我尝试再次客户端:构建。它再次显示错误

标签: javafx google-cloud-firestore gluon graalvm


【解决方案1】:

好的!感谢何塞·佩雷达

我找到了解决办法。

所以首先我创建了 src/main/resources/META-INF/substrate/config/initbuildtime 文件相同的目录是必须的。 initbuildtime 是文件名。没有扩展名的文件。

之后

<nativeImageArgs>
                 <arg>--allow-incomplete-classpath</arg>
                 <arg>--initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger</arg>
                    </nativeImageArgs>

插件里面pom.xml文件里面的这段代码和那个。 我的项目构建良好。 希望这对其他人有所帮助。

感谢 Jose Pereda,他真的帮了我很多。他是伟大的伟大人物。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-02
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 2017-08-16
    相关资源
    最近更新 更多