gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 03:56:25 24 4
gpt4 key购买 nike

我们有很多 ejb Artifact ,它们被分成客户端和 impl Artifact ,例如

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

如果a需要调用b,我们需要添加编译依赖a-impl -> b-client。当我们运行 ear 时,来自 b-impl 的类被注入(inject)以实际完成工作。

问题:

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

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

  1. 将客户端的运行时 依赖项添加到impl。解决了 Maven 的问题,但将客户端绑定(bind)到 impl。在 ejb with client artifact - runtime dependency? ,人们反对它。
  2. 使用脚本更新和检查 pom 以确保每个客户端都有一个 impl。
  3. 在每次构建之前手动检查 dependency:list 以确保每个客户端都有一个 impl。

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

最佳答案

我会创建他们运行客户端的单元测试——然后你会在构建的测试阶段看到一切是否正常

关于java - 如何确保每个 ejb-client 都有一个 ejb-impl(在耳朵里)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49067133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com