2014-03-05 241 views
5

我在src/main/rescource中有一個名爲extra-jars的文件夾,但是如何將這些文件夾包含在構建中?我希望它們放在lib文件夾中,其餘的jar文件夾。我試圖包括他們通過,但沒有奏效。Maven:在構建資源文件夾中包含文件夾

回答

4

對於未由Maven存儲庫分發的jar,最簡單的方法是將額外的jar放入項目的src/main/webapp/WEB-INF/lib目錄中。 Maven將按照慣例將src/main/webapp下的所有內容包含在最終的戰爭神器中。

另一種方法是使用Maven War Plugin。它有能力通過插件配置add additional files到最終的戰爭神器。

在POM的構建部分添加類似以下內容:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
     <webResources> 
      <resource> 
      <directory>src/main/resource/extra-jars</directory> 
      <includes> 
       <include>*.jar</include> 
      </includes> 
      <targetPath>WEB-INF/lib</targetPath> 
      </resource> 
     </webResources> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 

<configuration>部分的關鍵是增加額外的文件。

  • <directory>元素定義資源的源位置。路徑相對於pom.xml
  • <includes>元素定義在上述目錄中找到的文件包含哪些文件。
  • <targetPath>元素定義了要將文件複製到的WAR中的目標目錄。
2

這些罐子應該作爲Maven依賴關係添加,而不是通過將它們複製到lib文件夾中。 Maven的設計就是這樣的。

+0

這是我在過去三天嘗試過的,但如果我用依賴項檢索它們,這些最後的jar將不會啓動我的程序,所以我這樣做了。這不是Maven的方式,但沒有其他辦法。 – TDC

+0

你收到了哪些錯誤信息?將jar添加到lib文件夾和類路徑是Maven的麪包和黃油,所以我們可以幫助您使用該版本 – TrueDub

+0

它與Birt Run Time Viewer一起使用。有些罐子不正確,出於某種原因我無法檢索正確的罐子。有了這些罐子(來自依賴),它給了我一個卡塔利娜內部錯誤等,並與「本地」罐子工作/ s。 – TDC

相關問題