繁体   English   中英

Maven EAR 插件模块

[英]Maven EAR Plugin Modules

要使用 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 定义为普通依赖项和/或将其定义为jarModuleejbModule有什么区别?

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

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>

要回答您的部分问题:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM