Maven 2和包装ejb vs jar

twe*_*sat 3 java maven-2 ejb-3.1

如果我使用的是ejb 3.1,两者之间的区别是什么

<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)

<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>
Run Code Online (Sandbox Code Playgroud)

Mar*_*ler 5

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

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


jay*_*jay 4

正如http://maven.apache.org/plugins/maven-ejb-plugin/usage.html中提到的,

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

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