繁体   English   中英

如何确保每个ejb-client都有一个ejb-impl(耳朵里)?

[英]How to make sure that every ejb-client has an ejb-impl (in an ear)?

我们有很多ejb工件被分成客户端和impl工件

a-client, a-impl, b-client, b-impl, c-client,...

如果a需要调用b ,我们需要添加一个编译依赖a-impl - > b-client 当我们运行耳朵时,注入来自b-impl类来实际完成工作。

问题:

为了运行,我们需要确保每个客户端都存在相应的impl工件。 当我们使用Maven构建工件时,这不能保证。 如果我向我的pom添加a-impl ,Maven会将b-client添加到耳朵中(这是一个编译依赖项),但它不会添加b-impl (因为没有静态连接)。 b-impl作为依赖项添加到pom中。

由于“遗忘”的impl工件,经常导致问题。 此外,可能会放弃永远不会从pom中删除的impl工件。 可能的解决方案:

  1. 从客户端添加runtime依赖项到impl。 解决Maven的问题,但将客户端绑定到impl。 ejb中有客户端工件 - 运行时依赖? 人们建议不要这样做。
  2. 使用脚本更新并检查pom以确保每个客户端都有一个impl。
  3. 在每次构建之前手动检查dependency:list ,以确保每个客户端都有一个impl。

我真的不喜欢任何可能性,但第一个似乎产生了最少的麻烦。 有没有更好的办法?

我会创建他们运行客户端的单元测试 - 如果一切正常,你会在构建的测试阶段看到

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM