首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么部署JAR打包在生产Quarkus应用程序中?

为什么部署JAR打包在生产Quarkus应用程序中?
EN

Stack Overflow用户
提问于 2021-09-21 09:45:41
回答 1查看 79关注 0票数 1

漏洞扫描突出了我们Quarkus应用程序的Docker镜像中Maven JARs的存在,这让我感到惊讶。这些都是从quarkus-app/lib/main上获得的。运行mvn quarkus:dependency-tree会显示包含它们的路径:

代码语言:javascript
复制
[INFO] --- quarkus-maven-plugin:2.2.3.Final:dependency-tree (default-cli) @ my-app ---
[INFO] Quarkus application PROD mode build dependency tree:
[INFO] my-group:my-app:pom:1.x-SNAPSHOT
...
[INFO] ├─ io.quarkus:quarkus-undertow-deployment:jar:2.2.3.Final (compile)
...
[INFO] │  ├─ io.quarkus:quarkus-core-deployment:jar:2.2.3.Final (compile)
...
[INFO] │  │  ├─ io.quarkus:quarkus-bootstrap-core:jar:2.2.3.Final (compile)
...
[INFO] │  │  │  ├─ io.quarkus:quarkus-bootstrap-maven-resolver:jar:2.2.3.Final (compile)
[INFO] │  │  │  │  ├─ org.apache.maven:maven-embedder:jar:3.8.1 (compile)

再一次,我惊讶地看到它正在拉入部署JAR,因为根据我有限的理解,我不会期望在运行时为一个不可变的生产应用程序需要这些JAR。

编辑: POM仅引用扩展,然后存在引用Quarkus BOM的父POM。

代码语言:javascript
复制
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-undertow</artifactId>
        </dependency>

如果需要部署JAR,为什么需要,如果不需要,有什么方法可以排除它们吗?

EN

回答 1

Stack Overflow用户

发布于 2021-09-22 11:44:33

正如@Ladicek建议的那样,这个问题的原因是其中一个依赖项直接引用了部署工件(只是不是我在问题中发布的那个!)。这导致所有扩展的部署JAR都打包在quarkus-app/lib/main中。

quarkus-logging-json-deployment更正为quarkus-logging-json解决了此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69266755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档