【发布时间】:2023-01-23 15:06:22
【问题描述】:
我正在尝试将多模块 Quarkus 项目从 2.2 升级到最新的 2.6.1.Final。构建(包括带有 -Psomeproject 的 quarkus:dev)在 2.3.1.Final 上运行,但是当我升级到 2.4.0.Final 时,它失败并出现此错误:
Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "io.quarkus.deployment.dev.DevModeContext$ModuleInfo.getMain()"
because the return value of "io.quarkus.deployment.dev.DevModeContext.getApplicationRoot()" is null
at io.quarkus.deployment.dev.DevModeMain.start(DevModeMain.java:151)
at io.quarkus.deployment.dev.DevModeMain.main(DevModeMain.java:63)
Caused by: java.lang.NullPointerException: Cannot invoke "io.quarkus.deployment.dev.DevModeContext$ModuleInfo.getMain()" because the return value of "io.quarkus.deployment.dev.DevModeContext.getApplicationRoot()" is null
at io.quarkus.deployment.dev.DevModeMain.start(DevModeMain.java:91)
常规构建仍然有效;失败的是quarkus:dev。我根本看不出这里出了什么问题。我错过了什么?
下一步,我将针对该问题创建一个最小的解决方案,但不胜感激任何指点。
该项目使用的是 Java 17,但常规构建确实有效,开发模式也适用于旧平台。
【问题讨论】:
-
您确定已更新该版本的所有实例吗?
-
是的,非常确定(ripgrep 和手动检查以及仔细阅读 maven 日志)。一段时间以来,我一直在与这个问题和一些本机编译问题作斗争。我已经找到了为什么本机编译失败并暂时禁用了这些功能,但我仍然不知道为什么会失败。
-
您找到解决此问题的方法了吗?我有同样的问题从 2.8.2 升级到 2.8.3(和 2.9)
-
不幸的是没有。如果您找到解决方案,请告诉我。
-
禁用 quarkus-maven-plugin '生成代码' 目标允许我启动应用程序,禁用它的后果我还没有研究。可能是什么