2012-03-04 100 views
1

我有一個由maven構建的EAR文件,目前我有一個commons項目,我想把它放在EAR \ lib中,所以我用了'bundleDir'標籤的maven-ear-plugin,它工作正常現在我的commons.jar出現在lib文件夾和EAR根目錄中。我如何告訴它只把它放在lib文件夾中?如何防止maven複製EAR文件中的jar文件?

我POM:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-ear-plugin</artifactId> 
      <configuration> 
       <outputDirectory>../../outputs/java</outputDirectory> 
       <version>5</version> 
       <modules> 
        <jarModule> 
         <groupId>com.sample.common</groupId> 
         <artifactId>common</artifactId> 
         <includeInApplicationXml> 
          true 
         </includeInApplicationXml> 
         <bundleDir>/lib</bundleDir> 
        </jarModule> 
        ... 
       </modules> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>ear</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

這裏是依賴定義:

<dependency> 
     <groupId>com.sample.common</groupId> 
     <artifactId>common</artifactId> 
     <version>1.0</version> 
     <scope>provided</scope> 
    </dependency> 
+0

我只想指出,這個問題的標題看起來很奇怪,當脫離上下文。 :) – 2012-03-04 15:44:51

+0

我知道標題有點奇怪,但我有一個非常漫長的一天:) – Tomer 2012-03-04 16:17:09

+0

你可以發佈你的pom.xml文件中的commons.jar的依賴關係定義,謝謝。 – hovanessyan 2012-03-04 16:59:56

回答

1

如果你的jar文件是不是EJB你可以簡單地把它放到耳朵依賴沒有定義成maven-耳插件。否則,嘗試設置提供給依賴列表中的jar的作用域。這可能有幫助。

+0

該jar是一個EJB jar,我用提供的範圍嘗試過,但不幸的是這並沒有幫助。 – Tomer 2012-03-05 10:54:13

+1

也許你還有一些使用com.sample.common的耳朵依賴列表中的另一個模塊:通用範圍編譯或運行庫。在這種情況下,您在ear依賴項列表中使用的所有模塊都依賴com.sample.common:common應該也爲com.sample.common提供了範圍:common。 – dyrkin 2012-03-05 11:22:53

+0

好點,但我已經想到了這一點,並更新了對該罐子的所有引用,仍然沒有運氣。 – Tomer 2012-03-05 12:26:36

相關問題