提问人:Sjaak 提问时间:3/26/2021 最后编辑:Sjaak 更新时间:3/26/2021 访问量:375
Quarkus Stylish 在容器镜像中不起作用 (Openshift / Docker)
Quarkus Stylish not working in container images (Openshift / Docker)
问:
我们正在更新我们的文档,并为生成的页面添加品牌。我们使用了此处描述的输入 (https://quarkus.io/blog/stylish-api/)。但是,由于某种原因,样式在本地工作(在开发模式下启动 Quarkus 时),但不能在容器技术中运行它(我们尝试了 OpenShift 和 Docker 映像。不应用css,不更改徽标。不适用于登陆页面,也不适用于生成的大摇大摆的页面。 我们是否需要做一些设置/事情来使其正常工作?
在 application.properties 中设置了以下属性
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 中运行,构建过程会将 style.css 从品牌目录复制到 /swagger-ui。在构建映像时,这(显然)不会发生。
/swagger-ui/ 文件夹位于运行器 jar 的 META_INF 下。它包含错误的css(原始的)。在开发模式下运行 quarkus 确实会从不同的位置(可能是品牌位置并替换原始位置)提供此文件夹。
这显然是 maven 构建中的某个东西。
答:
默认情况下,Swagger UI 仅在 Quarkus 在开发或测试模式下启动时可用。
如果您也想在生产环境中使用它,您可以在 application.properties 中包含以下配置:
quarkus.swagger-ui.always-include=true
https://quarkus.io/guides/openapi-swaggerui#use-swagger-ui-for-development
评论
stylish
quarkus-maven-plugin 需要一个额外的目标(准备)才能将 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>
在此之后,应用了样式。
下一个:访问链接的文本修饰直通
评论