如何保持 Maven 运行时依赖在容器上可用

How to keep maven runtime dependency available on containers

假设我有 10 个 Java EE 项目(耳朵)。其中一些依赖于非常大的包 X(普通 java 包)。如果我将它添加为编译依赖项,项目总大小可能会增长为 10*(X 包的大小)。我认为运行时依赖选项是可行的方法。但是不知道如何在 JBoss 等容器上运行时使包 X 可用。如何在运行时在 Java EE 容器上提供普通的 java 包?

你误解了runtime依赖范围,当你标记一个依赖runtime时,这意味着maven不会在编译期间将那些依赖添加到类路径中

例如:如果你有 slf4j api 并且你想在运行时将它与 slf4j-simple 绑定,你在编译时不需要 slf4j-simple,这可以标记为运行时依赖性

在你的情况下,即使你在编译期间不需要它们,你也必须打包它们,因为你正在构建一个需要具有所有依赖项的 EAR,JBoss 不会神奇地抓住它们那些对你的依赖