2010-10-31 192 views
3

庫我使用maven戰爭插件來排除一些常見的罐子,把他們在classpath中。我能夠正確生成war文件,排除指定的庫並將它們添加到類路徑中,但爆炸的war目錄仍包含排除的庫文件。如何生成使用maven war插件配置的爆炸戰爭文件。的Maven插件戰爭不能排除爆炸戰爭格式

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.ekaplus.ctrm.mdm</groupId> 
    <artifactId>core-presentation</artifactId> 
    <version>1.0</version> 
    <packaging>war</packaging> 
    <name>presentation layer core</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.ekaplus.ctrm.mdm</groupId> 
      <artifactId>eka-core-mdm-presentation</artifactId> 
      <version>1.0</version> 
      <scope>compile</scope> 
     </dependency> 
    </dependencies> 
    <profiles> 
     <profile> 
      <id>exploded</id> 
      <activation> 
       <activeByDefault>true</activeByDefault> 
      </activation> 
      <build> 
       <defaultGoal>package</defaultGoal> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-war-plugin</artifactId> 
         <version>2.1</version> 
         <configuration> 
          <packagingExcludes> 
           WEB-INF/lib/dto-common-1.0.jar, 
           WEB-INF/lib/eka-action-1.0.jar 
          </packagingExcludes> 
          <archive> 
           <manifest> 
            <addClasspath>true</addClasspath> 
           </manifest> 
          </archive> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 
</project> 

回答

3

(...)我怎樣才能產生爆炸,其使用Maven的戰爭插件的配置war文件。

war:exploded目標不使用maven戰爭插件的(全球)的配置,但它不承認的war:warpackagingExcludes參數。這是行不通的。

但爲什麼您使用packagingExcludes呢?這個參數應該用來實現非常特殊的骨幹戰爭用例,我不確定這是你的情況。你爲什麼需要它?

根據您的確切需要,我的建議是使用依賴範圍(provided)或者配置文件(添加依賴項)或兩者的組合。

+0

感謝您的回覆!我們只想製造瘦骨w w的戰爭。其實我們有多次戰爭(其中6次)。它們被封裝在耳朵文件中。由於核心庫和其他依賴庫,war文件的大小增加。我也嘗試提供範圍。它工作正常,但我需要添加與類路徑(每個戰爭的META-INF)中提供的依賴範圍的庫。可以做些什麼將它們添加到classpath中? – 2010-10-31 06:18:58