Я пытаюсь исключить один файл.JAR библиотеки из моего EAR, который строится через Maven, поскольку эта библиотека включена как модуль 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. Но, когда я делаю сборку, я все еще это вижу.
Не понимаю ли я эту функциональность? Или я делаю это неправильно? Любой совет?
UPDATE: я должен добавить, эта библиотека добавляется как зависимость для другой библиотеки, от которой зависит мое приложение. Именно поэтому он вводится в первую очередь. Мне не нужно, чтобы он включался в EAR, поскольку он доступен как модуль JBoss EAP.
Оберните свой тип зависимостей в объектной модели проекта 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>