7

如果我正在使用 ejb 3.1,那么两者之间有什么区别

<packaging>jar</packaging>

<packaging>ejb</packaging>
...
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ejb-plugin</artifactId>
    <version>2.3</version>
    <configuration>
        <ejbVersion>3.1</ejbVersion>
    </configuration>
</plugin>
4

3 回答 3

6

使用打包类型ejb包括执行maven-ejb-plugin。打包类型不是这种情况jar(除非您明确配置它)。仅当您需要定义与默认配置不同的配置时,才需要原始问题中所述的插件配置。

据我所知,maven-ejb-plugin 的主要目的是(曾经)用于创建EJB 客户端模块(仅包括接口)。但恕我直言,这不再是推荐的方式。通常您通过单独的模块提供 API,并且不要让 ejb-plugin 自动创建它。

于 2013-09-18T08:05:51.273 回答
4

http://maven.apache.org/plugins/maven-ejb-plugin/usage.html所述,

“插件在生成 jar 期间不执行任何 EJB 特定处理,除非 EJB 版本为 2.0+ 时验证 EJB 部署描述符的存在”

由于您拥有 ejb 3.1,因此 ejb-jar.xml 文件是可选的,因此除非您想要生成 Martin 的评论中提到的客户端存根和实用程序类,否则如果您使用 jar 打包,它不会有太大的不同。

于 2013-09-18T08:15:39.967 回答
2

我还建议比较 maven 帮助插件jarejb项目类型的有效 pom 输出:

mvn help:effective-pom

它将允许比较 Maven 为ejb项目和jar项目生成的内容。

ejb和 和的区别在jar打包入耳插件时也很有意义。通常,ejbModule配置属性用于包含 bean 的 ejb-jar,而jarModuleear 插件的配置属性用于库(jar 档案)。

于 2015-07-01T07:57:06.017 回答