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

Quarkus Stylish无法在容器映像中工作(Openshift/Docker)

彭高畅
2023-03-14

我们正在更新文档并为生成的页面添加品牌。我们使用了此处描述的输入(https://quarkus.io/blog/stylish-api/). 然而,由于某些原因,样式在本地工作(当在开发模式下启动Quarkus时),但没有在容器技术中运行(我们尝试了OpenShift和Docker图像。没有应用css,没有更改徽标。不适用于登录页,也不适用于生成的招摇页。是否有一些设置/我们还需要做些什么才能使其工作?

在应用程序中设置以下属性。属性

quarkus.swagger-ui.title=Title
quarkus.swagger-ui.filter=true
quarkus.swagger-ui.enable=true
quarkus.swagger-ui.always-include=true

我怀疑Quarkus在构建容器映像时没有获取任何额外资源(在META-INF中)。

结构:

\resources
  \META-INF
   application.properties
     beans.xml
     \branding
        logo.png
        style.css
     \resources
        favicon.ico
        index.html

我们可以看到/swagger-ui/style。css是不同的。在dev中运行构建过程复制样式。css从品牌目录到/招摇ui。在构建图像时(显然)不会发生这种情况。

/swagger ui/文件夹放在runner jar的META\u INF下。它包含错误的css(原始css)。在开发模式下运行quarkus显然会从不同的位置(可能是品牌位置)为该文件夹提供服务,并替换原始文件夹。

这显然是maven版本中的一些东西。

共有2个答案

薛烨
2023-03-14

Quarkus-马文-插件需要一个额外的目标(准备),以便在正确的位置包含css。

            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-maven-plugin</artifactId>
                <version>${quarkus-plugin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare</goal>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

在此之后,应用了造型。

邓仲卿
2023-03-14

默认情况下,仅当Quarkus在开发或测试模式下启动时,Swagger UI才可用。

如果您想在生产中也使用它,可以在应用程序中包括以下配置。属性:

quarkus.swagger-ui.always-include=true

https://quarkus.io/guides/openapi-swaggerui#use-用于开发的招摇过市ui

 类似资料:
  • 我有一个Kubernetes的工作实例: 如何编写图像名称,使其始终从我自己的命名空间中提取。 我想这样设置: 但它没有说它无法提取图像

  • 有了Docker,我只需要提供Docker_主机和适当的凭据,fabric8插件就可以构建我的容器映像。只要Docker注册表可用,就不需要在生成映像的实际主机上安装Docker相关的基础设施(例如my Bambole agent)。 使用OpenShift,我似乎找不到这样做的方法。相反,我似乎必须在安装了OpenShift的主机上运行maven goals,该主机必须是RedHat Linux

  • 我正试图使用但出现错误。下面是我的文件内容: 错误: 开始步骤#2 步骤#2:已经有图像(带摘要):gcr.io/cloud-builders/gcloud 步骤2:错误:(gcloud.compute.instances.update container)未指定的资源[instance-2-production]。指定[--zone]标志。 如果我从Cloud SDK Sheel运行相同的命令,

  • 在 CentOS VM 上安装最新的 OpenShift CodeReady 容器,然后在 OpenShift 上运行由 Java 编写的 TCP 服务器应用程序。TCP 服务器正在侦听端口 7777。 运行app,用NodePort将其公开为服务,看起来一切运行良好。pod端口是7777,服务端口是31777。 然后获取节点ip,命令显示为192.168.130.11,我可以在我的虚拟机上成功p

  • 问题内容: 我从dockerfile构建了Docker映像。我看到映像已成功构建,但是该如何处理?它不应该能够作为容器运行吗? 问题答案: 运行它的具体方法取决于您是否为图像指定了标签/名称。 使用名称(让我们使用 Ubuntu ): 没有名称,只需使用ID: 请参阅 Docker运行参考 以获取更多信息。