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

使用graalvm和quarkus打包本机映像时出错

戴品
2023-03-14

亲爱的,我下面的原生图像构建教程由Quarkus创建原生graalvm,但我得到了下面的错误:

Error: No main manifest attribute, in /home/docker/workspace/quarkus/quarkus-getting-started/target/quarkus-getting-started-1.0-SNAPSHOT-runner.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.056 s
[INFO] Finished at: 2019-03-14T11:26:12+04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:0.11.0:native-image (default) on project quarkus-getting-started: Failed to generate a native image: Failed to build native image: Image generation failed -> [Help 1]

我的环境:OS:CentOS 7 Quarkus:0.11.0 Java:Open JDK 1.8.0_181 GraalVM:1.0.0-rc13

使用quarkus在你的应用程序中没有主要方法,但如何使用graal原生图像使其工作?

共有1个答案

岳嘉容
2023-03-14

代码137对我来说意味着我没有足够的内存来存储我的docker图像。

尝试增加docker首选项中的内存。我将其设置为10G以确保安全,因为有时我的构建会中断或花费很长时间。

你为什么不使用最新的Quarkus版本1.4.2。最终带有自己的码头映像。

您可以使用以下属性进一步配置内存消耗和GraalVM映像。

 <quarkus.native.builder-image>quay.io/quarkus/ubi-quarkus-native-image:20.0.0-java11</quarkus.native.builder-image>-->
 <quarkus.native.native-image-xmx>8192m</quarkus.native.native-image-xmx>

第一个可以帮助你使用另一个GraalVM图像,默认的一个。第二个可以帮助你提高构建时间。请注意,它必须小于docker守护进程中设置的内存。

 类似资料:
  • 我正在试图弄清楚如何通过将GraalVM本机映像代理与Quarkus应用程序一起使用。 我试着跑步: 但是我得到了一个错误: 有什么提示吗? 我的Java版本:

  • 我正在使用GraalVm 21.0.0.2的native-image-maven-plugin为JavaFX应用程序创建一个本机映像。当我尝试在构建成功结束后执行它时,我得到以下错误: 我很感激你能给我的任何帮助。

  • 我正在尝试用Dockers创建一个GraalVM本地映像。我已经创建了一个Micronaut项目,并成功创建了jar应用程序,并在docker中运行;此外,我已经用这个jar文件创建了一个GraalVM本机映像,现在可以运行这个应用程序,但我需要在docker中运行一个GraalVM本机映像,在论坛中寻找答案。我发现有必要在docker中构建本机映像。因此我尝试了这个docker文件: 它不会抛出

  • 失败:生成失败,出现异常。 错误:执行任务“:QuarkusBuild”失败。Io.Quarkus.Builder.BuildException:生成失败:由于错误导致生成失败[error]:生成步骤Io.Quarkus.Deployment.Pkg.Steps.NativeImageBuildStep#Build引发异常:java.lang.RuntimeException:未能在io.Quar

  • 我尝试在java中使用本地化以本地样式打印日期。我已经使用数字和货币制作了类似的功能,但我未能将相同的行为应用到日期。 正如我在几天前发布此主题时所了解的,GraalVM Quarkus Locale在本机模式下,使用本机模式下的本地化需要使用创建一个“@AutomaticFeature”。 这个技巧适用于数字和货币: 但它不适用于DateTimeFormatter: 在开发模式下一切正常,但在原

  • 我已经成功地用Quarkus/Graal构建了一个本机映像,我可以在终端中运行它(还没有容器)。但是,它会因“分段错误(堆芯转储)”消息而崩溃。如何获得有关错误的更多信息?是否有标志要传递给本机可执行文件或在构建映像时传递? 我使用的是GraalVM版本20.2.0(Java版本11.0.8) 任何帮助都是非常感激的。 谢谢