1.8. 已知问题
查看以下已知问题以了解红帽构建的 Quarkus 3.15 限制和临时解决方案。
1.8.1. 在 Windows 上缺少 Snappy 的原生库 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,在 Windows 上运行使用 Snappy 压缩库的应用程序会因为缺少原生库而产生错误。
当尝试压缩 Windows 环境中带有 Snappy 的数据时,用户可能会遇到类似以下示例的错误消息。
错误信息示例
... org.eclipse.microprofile.reactive.messaging.Message$5@1e8dc267 from channel 'test' was not sent to Kafka topic 'test' - nacking message: org.apache.kafka.common.KafkaException: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Windows and os.arch=x86_64 ...
...
org.eclipse.microprofile.reactive.messaging.Message$5@1e8dc267 from channel 'test' was not sent to Kafka topic 'test' - nacking message: org.apache.kafka.common.KafkaException: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Windows and os.arch=x86_64
...
临时解决方案:目前还没有可用的临时解决方案。计划在以后的发行版本中解决这个问题。
1.8.2. Quarkus CLI 无法解析红帽构建的 Quarkus TLS 插件 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,添加了 productized Quarkus TLS CLI 插件。目前,开发工具不会从 maven.repostory.redhat.com 中发现 Quarkus CLI 插件。因此,Quarkus CLI 默认无法找到此插件。
临时解决方案:
要启用 Quarkus CLI 来解析插件,请将 JBang 配置为使用
maven.repository.redhat.com。您可以通过在项目的根目录中使用包含以下内容的
jbang.properties文件,该文件仅在该项目中使用 Quarkus CLI,或者在~/.jbang目录中用于全局配置:run.repos=central,https://maven.repository.redhat.com/ga/
run.repos=central,https://maven.repository.redhat.com/ga/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果已安装 JBang,您也可以使用以下命令全局设置它:
jbang config set run.repos central,https://maven.repository.redhat.com/ga/
jbang config set run.repos central,https://maven.repository.redhat.com/ga/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如需更多信息,请参阅 QUARKUS-5183 和链接问题。
1.8.3. Quarkus CLI 只更新红帽构建的 Quarkus 平台版本 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,运行 update 命令只更新红帽构建的 Quarkus 平台(com.redhat.quarkus.platform)中包含的 BOM。如果版本的一部分、quarkus-qpid-jms-bom 和 quarkus-operator-sdk-bom,则可以包括 quarkus-camel-bom 和 quarkus-camel-bom 和 quarkus-cxf-bom。
但是,该命令不会更新与上游社区版本关联的 BOM 版本。如果您的项目同时包含红帽构建的 Quarkus 和上游 BOM,则此问题可能会导致 Quarkus 和上游 BOM 组合不兼容。
update 命令示例
mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.15.7.redhat-00001:update -Dmaven.repo.local=<path-to-local-repo>
$ mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.15.7.redhat-00001:update -Dmaven.repo.local=<path-to-local-repo>
有问题的 pom.xml 文件示例
- 1
- 没有更新版本。
临时解决方案:手动更新版本号。
在 Red Hat build of Quarkus 3.15 中,使用 quarkus/mandrel-for-jdk-21-rhel8:23.1 红帽构建的 Quarkus Native Builder 镜像在启用了 FIPS 的环境中的原生模式中初始化 RSA 密码会生成 NullPointerException (NPE)错误。
这个问题只在启用了 FIPS 的原生模式下发生,它不会影响禁用 FIPS 的原生模式。在启用了 FIPS 的 Red Hat build 时,它也不会影响 JVM 模式。
启用 FIPS 的环境中不支持原生模式。
错误信息示例
2024-10-17 10:45:01,931 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /repro failed, error id: 9b1f5dbb-058b-4c9b-9377-f3acc0a6cba5-1: java.lang.RuntimeException: java.lang.NullPointerException
at org.acme.ReproResource.init(ReproResource.java:38)
...
2024-10-17 10:45:01,931 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /repro failed, error id: 9b1f5dbb-058b-4c9b-9377-f3acc0a6cba5-1: java.lang.RuntimeException: java.lang.NullPointerException
at org.acme.ReproResource.init(ReproResource.java:38)
...
临时解决方案:
如果存在,从
application.properties文件中删除以下属性:quarkus.security.security-providers=SunPKCS11
quarkus.security.security-providers=SunPKCS11Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
application.properties文件中添加以下属性,以在运行时初始化ReproResource类:quarkus.native.additional-build-args=--initialize-at-run-time=org.acme.ReproResource
quarkus.native.additional-build-args=--initialize-at-run-time=org.acme.ReproResourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow