【发布时间】:2016-05-09 05:13:18
【问题描述】:
那些日子里,每个人都在谈论使用 fat-jars 的微服务和无容器部署,而 Dropwizard 或 Springboot 等框架为您提供了支持。由于所有 EE 组件都可作为单独的实现使用,因此应该可以组装您自己的所需组件(即 Weld、Jersey、Jetty)的 jar。
在使用基于 Java EE 的 CDI 时,有一个 BDA(Bean Deplyoment Archive)的概念,它定义了一组捆绑在 jar 中的启用 CDI 的 Bean,以及包含一些BDA 的附加信息,例如拦截器。
如何在不丢失beans.xml 的信息的情况下将这些 BDA 组合到一个 uber-jar 中? maven jar-with-dependencies 只是将所有文件复制到一个文件中,覆盖前一个文件(或保留第一个文件,不确切)。
fat-jar 的概念与 EE CDI 完全兼容吗?当全部合并到一个 BDA 中时,一些 CDI 语义是否会丢失,即 Alternatives 的范围。
【问题讨论】:
-
也许 wildfly swarm 会为你做这件事 - 只是一个想法希望它可能会有所帮助,因为我自己没有使用它。
标签: java jakarta-ee jar cdi