gpt4 book ai didi

java - 如何指示 maven-ejb-plugin 仅包含客户端 EJB 包中所需的类?

转载 作者:行者123 更新时间:2023-12-01 09:56:29 24 4
gpt4 key购买 nike

我有一个相当大的遗留模块,其中包含 EJB 3.0 和一些业务逻辑类。我正在尝试将构建过程转换为使用 maven,但在配置 maven-ejb-plugin 时遇到困难。

我尝试使用 maven-ejb-plugin 生成客户端 EJB 包,但请注意客户端包也包含所有业务逻辑类 - 即使 EJB 没有引用它们。

我当前的配置是: org.apache.maven.plugins maven-ejb-插件 默认 ejb ${project.build.outputDirectory} 埃杰布 3.0 真的

不幸的是,业务类/模型/DTO 的包没有非常清晰的分离,因此很难准确地确定哪些 EJB 依赖于哪些类。

maven-ejb-plugin 中是否有一种机制来指示 maven 仅包含客户端包中所需的 EJB 接口(interface)/实现和依赖类,并忽略/跳过其他所有内容?或者我是否必须手动找出各个接口(interface)所需的依赖类并将插件配置为仅包含这些文件?

最佳答案

据我了解,您有一些包,例如包括远程或本地 EJB 的接口(interface),并且您在接口(interface)的同一包中拥有定义(无状态有状态、mdb 等),并且您只想导入您的客户端需要的类(或接口(interface)),出于逻辑原因它不需要实现。

好吧,我们这里有两点,建议您至少应该在一个单独的项目中拥有远程或本地接口(interface),以将其解耦(作为 Maven 项目),并且每个想要使用它们的人只需将其作为依赖项导入,无需了解它们的实现。

另一点是,如果您遵循一些命名约定,也许您可​​以通过包含(或排除)具有某种模式的 .java 类来完成您想要的任务。

您可以查看上面的链接:

http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

如果您使用如下一些约定: http://www.oracle.com/technetwork/java/namingconventions-139351.html

例如,您可以:

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<excludes>
<include>**/Local*.java</include>
</excludes>
</configuration>
</plugin>
</plugins>

关于java - 如何指示 maven-ejb-plugin 仅包含客户端 EJB 包中所需的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37166305/

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