我希望在我们的开发、试运行和生产环境中运行相同的映像。对于我们的开发环境,我希望能够连接一个调试器。
我为我们的Quarkus应用程序构建图像,如下所示(mvn包):
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-container-image-jib</artifactId>
</dependency>
...
</dependencies
<properties>
<quarkus.container-image.build>true</quarkus.container-image.build>
<quarkus.jib.ports>8080,5005</quarkus.jib.ports>
<quarkus.container-image.image>...</quarkus.container-image.image>
...
</properties>
<build>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>1.12.1.Final</version>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
是否可以在调试模式下启动应用程序,同时使用 prod 配置文件运行?通过环境变量将JAVA_OPTIONS=-Ddebug=true
传递到容器会导致线程“主”java.nio.file.NoSuchFile 异常:/工作/库/部署/部署类路径.dat
。
如果没有,什么是合适的方法来完成这样的设置?
有几种方法可以做到这一点,但它们都依赖于这样一个事实,即在Quarkus中,您可以控制Jib为容器映像使用您想要的任何启动脚本。默认情况下,容器映像是用最小的< code>java -jar创建的...样式入口点,但是可以使用< code > quar kus . jib . JVM-entry point 进行更改。
如果您使用的默认基础映像已经包含一个提供了大量选项的< code>run-java.sh脚本(请参见https://hub . docker . com/r/fabric 8/Java-alpine-open JDK 11-JRE # startup-script-run-javash),那么您尝试完成的任务可以通过在< code > application . properties 中设置以下内容来完成:
quarkus.jib.jvm-entrypoint=/deployments/run-java.sh
quarkus.jib.environment-variables."JAVA_APP_DIR"=/work # this is needed so the script knows where the Quarkus jar is
然后使用以下命令启动应用程序:
docker run --rm -p 8080:8080 -p 5005:5005 -e JAVA_DEBUG=true gandrian/getting-started:1.0.0-SNAPSHOT
现在,应用程序将打开调试端口(但不会挂起),您可以使用调试器连接到它
我清理了一个用Quarkus实现的旧Java项目,并将依赖项更新到Quarkus 2.4.0。然而,我注意到,当我启动应用程序时,它还启动了Docker PostgreSQL容器。我还有另一个数据库需要测试,所以我不需要Quarkus为我创建一个数据库。我找不到要在<code>应用程序中设置的任何配置属性。属性,以防止创建此属性。我遗漏了什么吗?有没有我需要设置的标志?
Quarkus-构建本机可执行文件指南讨论了如何构建和测试本机可执行文件,以及如何在docker容器中构建本机可执行文件。 我遵循本指南使用Docker设置了一个通用的本机可执行文件构建,我们正在CI服务器上使用它,并且无论主机操作系统如何,都可以在本地构建它。 但是,生成的本机可执行文件必须在构建器docker映像使用的架构上运行,但Maven和Gradle测试任务尝试直接执行生成的映像。例如,
实际上,我使用野飞JEE服务器并考虑切换到Quarkus。关于quarkus,我有以下问题: 1.坚持。xml 我看到夸克斯使用自己的来建立数据库。我可以用来代替吗? 2.容器管理的持久性 quarkus是否提供了类似的功能,还是我必须自己管理持久性?
当我用quarkus构建我的应用程序的本机映像时,我得到一个大小为150MB的可执行文件(关联的jar大小为12MB,我怀疑底层VM是否能弥补所有空间)。这是正常的还是我做错了什么?有没有办法像记录本机映像中加载的内容那样进行调查?
亲爱的,我下面的原生图像构建教程由Quarkus创建原生graalvm,但我得到了下面的错误: 我的环境:OS:CentOS 7 Quarkus:0.11.0 Java:Open JDK 1.8.0_181 GraalVM:1.0.0-rc13 使用quarkus在你的应用程序中没有主要方法,但如何使用graal原生图像使其工作?
我想用Quarkus Optaplanner应用程序进行高级基准测试。实施和运行它的最佳方式是什么? 当浏览Optaplanner的“旧”示例时,它们都实现了基准测试(在本视频中,有一个关于Optaplanner与Quarkus的演示,但基准测试是通过旧示例显示的)。我使用Quarkus构建了我的优化求解器,我想知道如何在这里实现基准测试。我的输入数据写在JSON文件中,我想尝试不同的求解器配置。