![](/img/trans.png)
[英]maven install how to install and deploy *ONLY* ejb-client
[英]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工件。 可能的解决方案:
runtime
依赖项到impl。 解决Maven的问题,但将客户端绑定到impl。 在ejb中有客户端工件 - 运行时依赖? 人们建议不要这样做。 dependency:list
,以确保每个客户端都有一个impl。 我真的不喜欢任何可能性,但第一个似乎产生了最少的麻烦。 有没有更好的办法?
我会创建他们运行客户端的单元测试 - 如果一切正常,你会在构建的测试阶段看到
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.