[英]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 定义为普通依赖项和/或将其定义为jarModule
或ejbModule
有什么区别?
更准确地说,以下设置之间有什么区别:
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.