我正在尝试从我的EAR中排除通过Maven构建的单个库.JAR文件,因为此库包含在JBoss EAP模块中。我按照文档中的说明进行操作,但无论如何我总是看到这个库。以下是相关的pom.xml部分:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.9</version>
<configuration>
<!-- Tell Maven we are using Java EE 6 -->
<version>6</version>
<finalName>MenuProject</finalName>
<!-- Use Java EE ear libraries as needed. Java EE ear libraries are
in easy way to package any libraries needed in the ear, and automatically
have any modules (EJB-JARs and WARs) use them -->
<defaultLibBundleDir>lib</defaultLibBundleDir>
<packagingExcludes>**/postgresql*.jar</packagingExcludes>
<modules>
<!-- Register our War as a web module, and set the context root -->
<webModule>
...
如您所见,我正在尝试排除postgresql * .jar文件包含在我的EAR文件中。但是,当我进行构建时,我仍然会看到它。
我误解了这个功能吗?或者我做错了吗?有什么建议吗?
更新:我应该补充一下,这个库是作为我的应用所依赖的另一个库的依赖项添加的。这就是它首先被引入的原因。我不需要它包含在EAR中,因为它可以作为JBoss EAP模块使用。
答案 0 :(得分:1)
将项目对象模型pom
中的依赖项类型包装为类型:
<dependency>
<groupId>${project.that.has.postgres.as.dependency.groupId}</groupId>
<artifactId>${project.that.has.postgres.as.dependency.artifactId}</artifactId>
<version>${project.that.has.postgres.as.dependency.version}</version>
<type>pom</type>
</dependency>