【问题标题】:Maven EAR Plugin ModulesMaven EAR 插件模块
【发布时间】:2020-10-01 09:28:56
【问题描述】:

要使用 Maven 构建 Java EE 应用程序,可以使用以下配置:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ear-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <modules>
                        <webModule>
                           [..]
                        </webModule>
                        <ejbModule>
                            [..]
                        </ejbModule>
                        <jarModule>
                            [..]
                        </jarModule>
                    </modules>
                </configuration>
            </plugin>

我了解 web 模块的打包方式与其他模块不同,例如,位于 ear 的根目录并将其自身的依赖项打包到 WEB-INF/lib

但是 jar 和 ejb 模块呢?它们彼此有何不同? 将 jar 定义为普通依赖项和/或将其定义为 jarModuleearModule 有什么区别?

更准确地说,以下设置有什么区别:

1. ejb 模块定义为 ejbModule

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ear-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <modules>
                        <webModule>
                            [..]
                        </webModule>
                        <ejbModule>
                             <groupId>org.example</groupId>
                             <artifactId>helloworld-model</artifactId>
                            <version>1.0-SNAPSHOT</version>
                        </ejbModule>
                    </modules>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>


<dependencies>
    
</dependencies>

2。 ejb 模块定义为依赖

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ear-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <modules>
                        <webModule>
                            [..]
                        </webModule>
                    </modules>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>


<dependencies>
    <depdendency>
        <groupId>org.example</groupId>
        <artifactId>helloworld-model</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

3. ejb/jar 定义为 jarModule

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ear-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <modules>
                        <webModule>
                            [..]
                        </webModule>
                        <jarModule>
                            <groupId>org.example</groupId>
                             <artifactId>helloworld-model</artifactId>
                            <version>1.0-SNAPSHOT</version>
                        </jarModule>
                    </modules>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

4. ejb/jar 定义为依赖

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ear-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <modules>
                        <webModule>
                            [..]
                        </webModule>
                    </modules>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>


<dependencies>
    <depdendency>
        <groupId>org.example</groupId>
        <artifactId>helloworld-model</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

【问题讨论】:

    标签: java maven ejb java-ee-7


    【解决方案1】:

    回答部分问题:

    EJB 工件转到 EAR 的主目录,而 JAR 工件转到 lib 目录。

    【讨论】:

    • 谢谢,你知道jar放在根目录还是lib文件夹有什么区别吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 2011-12-03
    • 2013-08-12
    • 1970-01-01
    相关资源
    最近更新 更多