【问题标题】:Maven quarkus project cannot run quarkus:dev after upgrade to 2.4.0.FinalMaven quarkus 项目升级到 2.4.0.Final 后无法运行 quarkus:dev
【发布时间】: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 '生成代码' 目标允许我启动应用程序,禁用它的后果我还没有研究。可能是什么

标签: java maven quarkus


【解决方案1】:

为了运行 Quarkus,您必须拥有正确版本的 Quarkus 本身,以及它的帮助构建插件。

前任。 gradle中的配置:

plugins {
  // keep the version the same as the quarkus universe bom
  id 'io.quarkus' version '2.12.0.Final'
}

dependencies {
   api platform("io.quarkus:quarkus-universe-bom:2.12.0.Final")
   //... other
}

确保您的项目依赖关系正确,并且未覆盖 Quarkus 插件或 Quarkus 版本。特别检查传递依赖项,如果它们不走私某些较旧的 Quarkus 版本。对于行家:

mvn dependency:tree
// for gradle wrapper:
./gradlew dependencies
// for gradle:
gradle dependencies

【讨论】:

  • 我正在使用 Maven,但原理是相同的,而且我对 BOM 和插件都有正确的值。他们使用相同的版本属性。
  • 请检查您的传递依赖项是否没有走私旧的东西。强制使用 Quarkus 插件的一个版本,它对应的 BOM 应该可以,除非某些地方被覆盖了。如果你仍然有问题,最好有一个例子,这样我就可以检查还有什么问题。
猜你喜欢
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2014-04-27
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 2018-08-21
相关资源
最近更新 更多