当前位置: 首页 > 知识库问答 >
问题:

在容器中创建本机时出现夸克错误:夸克未知生命周期阶段

卫烨烁
2023-03-14

遵循本指南:https://quarkus.io/guides/building-native-image

为此,Quarkus通过利用容器运行时(如Docker或podman)提供了创建本地Linux可执行文件的非常方便的方法。完成此任务的最简单方法是执行:./mvnw package-Pnative-Dquarkus.native.container build=true

我收到此错误:[error]未知生命周期阶段“.native.container build=true”。必须以以下格式指定有效的生命周期阶段或目标:或:[:]:。可用的生命周期阶段包括:验证、初始化、生成源、过程源、生成资源、过程资源、编译、过程评估、生成测试源、过程测试源、生成测试资源、过程测试资源、测试编译、过程测试类、测试、准备包、包、预集成-测试、集成测试、集成后测试、验证、安装、,部署、预清理、清理、后清理、现场前、现场后、现场部署-

到目前为止,我使用的任何其他命令都没有问题。

共有2个答案

古棋
2023-03-14

我认为您遗漏了命令的最后一部分,在您提供的文档中,实际命令是:

./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.container-image.build=true

>

  • quarkus.native.container-build=true允许在不安装GraalVM的情况下创建Linux可执行文件(并且仅在本地未安装GraalVM或本地操作系统未Linux时才需要)

    quarkus.container-image.build=true指示Quarkus使用最终应用程序工件(在本例中是本机可执行文件)创建容器映像

    https://quarkus.io/guides/building-native-image#creating-a-集装箱

  • 申屠晟
    2023-03-14

    不确定您是否仍在寻找解决方案,但我在Windows 10上的版本2.2.2.final上遇到了同样的问题。

    什么对我有用:使用 --定义而不是 -d:

    ./mvnw package -Pnative --define quarkus.native.container-build=true
    
     类似资料:
    • 相关zulip聊天 我正在试图弄清楚,在quarkus中启动应用程序时,您应该如何优雅地失败。 我尝试将其添加到应用程序启动代码中。如果我运行一个单元测试,现在就不会调用它。仅当我直接启动应用程序时才会调用它。我希望返回一个非零值,以防抛出异常。这可能是推荐的方法。我不确定 我不确定这是一个功能请求还是一个bug,或者我遗漏了什么,这是正常的行为。 编辑1:我想说清楚: 当我使用“/gradlew

    • 在我们的夸克应用程序中,我们使用LDAP服务器来检索用户数据。简而言之,代码如下所示: 使用jre版本,一切都运行良好,但使用Quarkus原生,我得到ClassNotFoundExceptions。构建和启动是成功的,但调用应用程序不起作用。 现在例外是java。lang.ClassNotFoundException:javax。网ssl。SSLSocketFactory。我想知道quarkus

    • 关于Quarkus,我有两个问题: > 当不使用本机模式时,quarkus可以与任何java库一起使用吗?我不明白quarkus扩展的含义,例如https://github.com/quarkiverse中为非本机图像提供的扩展。这些扩展是否只有在本机模式下使用quarkus时才需要?

    • 我想使用利用的新错误处理,但我还想使用使用注释。 问题是,附带了的包,这与冲突,因为它们都有JAXRSecurityConfig。denyJaxRs,导致以下错误: 有人能够使用这两个库吗?

    • 尝试使用liquibase-mongodb扩展与夸克。没有任何成功。有谁能给我一个可行的例子吗? 所以quarkus知道liquibase,但mongodb变更集不执行。

    • 当我尝试安装maven时,我在intellij中收到此错误,尝试了此处提出的所有解决方案"https://stackoverflow.com/questions/5074063/maven-error-failure-to-transfer",但它不起作用。