Как правильно настроить путь класса манифеста в maven-war-plugin

Я использовал maven-ear-plugin с maven-war-plugin и maven-ejb-plugin для успешного развертывания и запуска приложения, упакованного как EAR, для Jboss AS7.

.
|-- META-INF
|   |-- application.xml
|   |-- MANIFEST.MF
|   `-- maven
|       `-- com.patrac
|           `-- Patrac-ear
|               |-- pom.properties
|               `-- pom.xml
|-- Patrac-ejb-1.0-SNAPSHOT.jar
`-- Patrac-web-1.0-SNAPSHOT.war

В каталогах исходного кода приложения помпы расположены следующим образом:

.
|
|-- Patrac-ear
|   `-- pom.xml
|-- Patrac-ejb
|  `-- pom.xml
|-- Patrac-web
|   `-- pom.xml
`-- pom.xml

Я не могу понять, как остановить несколько надоедливых предупреждающих сообщений при развертывании приложения:

12:32:03,958 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry richfaces-components-ui-4.0.0.Final.jar in "/content/Patrac.ear/Patrac-web-1.0-SNAPSHOT.war"  does not point to a valid jar for a Class-Path reference.
12:32:03,970 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry richfaces-components-api-4.0.0.Final.jar in "/content/Patrac.ear/Patrac-web-1.0-SNAPSHOT.war"  does not point to a valid jar for a Class-Path reference.
12:32:03,984 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry richfaces-core-api-4.0.0.Final.jar in "/content/Patrac.ear/Patrac-web-1.0-SNAPSHOT.war"  does not point to a valid jar for a Class-Path reference.
12:32:03,989 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry richfaces-core-impl-4.0.0.Final.jar in "/content/Patrac.ear/Patrac-web-1.0-SNAPSHOT.war"  does not point to a valid jar for a Class-Path reference.

Patrac-web-1.0-SNAPSHOT .war! META-INF / MANIFEST.MF выглядит следующим образом:

Manifest-Version: 1.0
Built-By: pgarner
Build-Jdk: 1.7.0_02
Class-Path: Patrac-ejb-1.0-SNAPSHOT.jar richfaces-components-ui-4.0.0.
 Final.jar richfaces-components-api-4.0.0.Final.jar richfaces-core-api
 -4.0.0.Final.jar richfaces-core-impl-4.0.0.Final.jar cssparser-0.9.5.
 jar sac-1.3.jar guava-r08.jar
Created-By: Apache Maven
Archiver-Version: Plexus Archiver

Запись пути к классам ejb должна присутствовать для модуля EJB для переносимости, а записи пути к классам richfaces, cssparser и guava НЕ должны находиться в манифест WAR.

Проблема в том, что моя WAR зависит от всех JAR, некоторые из которых находятся в WEB-INF / lib (RichFaces), и один JAR, Patrac-ejb-1.0-SNAPSHOT .jar , который находится в корневом каталоге EAR. Каждую зависимость необходимо ввести в Patrac-web / pom.xml, но НЕ каждая из зависимостей должна отображаться в манифесте.

Maven помещает JAR в правильные места, но помещает записи Class-Path для ВСЕХ JAR в манифест. Он не должен этого делать. Он должен включать ТОЛЬКО запись для Patrac-ejb-1.0-SNAPSHOT.jar .

  
  
     com.patrac
     Patrac-ejb
     ejb
     true
  

  
    
        org.richfaces.ui
        richfaces-components-ui
    
    
        org.richfaces.core
        richfaces-core-impl
    

Я использую самую последнюю версию плагина maven-war, 2.2.Как мне сказать maven-war-plugin помещать JAR "не-ejb" в WEB-INF / lib, не помещая записи пути к классам в MANIFEST.MF?

Мы будем благодарны за любые советы или указатели, которые у вас есть.

Ссылки:

16
задан Arjan Tijms 3 August 2013 в 09:49
поделиться