自定义模块位置
下面的例子展示了如何在 EAR 文件的 APP-INF/lib 目录中放置一个库:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> <version>3.2.0</version> <configuration> [...] <modules> <jarModule> <groupId>artifactGroupId</groupId> <artifactId>artifactId</artifactId> <bundleDir>APP-INF/lib</bundleDir> </jarModule> </modules> </configuration> </plugin> </plugins> </build>
请注意,可以为所有库指定默认捆绑目录。如果 jarModule 没有上面的 bundleDir 属性,则使用默认的。以下是此类配置的示例:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> <version>3.2.0</version> <configuration> [...] <defaultLibBundleDir>APP-INF/lib</defaultLibBundleDir> <modules> <jarModule> <groupId>artifactGroupId</groupId> <artifactId>artifactId</artifactId> <bundleDir>/</bundleDir> </jarModule> </modules> </configuration> </plugin> </plugins> </build>
在上述情况下,jarModules(即库)将放置在 APP-INF/lib 目录中,但指定的工件将放置在 EAR 结构的根目录中。