2017-05-25 86 views
0

我們在我們的EAR中有一個資源文件夾,該文件夾包含一些圖像,xml和文本文件。 我需要將這個文件夾添加到我們的EJB清單類路徑中。如何通過maven將資源文件夾添加到我的EJB jar中

myEAR 
|-> resources 
|  |-> myXml.xml 
|  |-> mytext.txt 
|->lib 
| |-> pojo1.jar 
| |-> pojo2.jar 
|->ejb.jar 

目前,我的耳朵的Maven插件添加我們的* .jar到我的EJB JAR的類路徑,例如,我們ejb.jar清單樣子吹:

Class-Path: lib/pojo1.jar lib/pojo2.jar 

,但我需要補充我們的「 資源「文件夾,此類路徑也:

Class-Path: resources lib/pojo1.jar lib/pojo2.jar 
+0

在EAR文件:我們在EJB模塊POM文件中使用標籤添加資源文件夾到類路徑?根本沒有。 EAR文件是一個容器,不包含資源等,只有包含jar/war可以包含資源... – khmarbaise

+0

我同意,但這是一箇舊的項目,它的EAR包含一個資源文件夾! – Mehran

+0

這些資源將被打包到耳朵文件中(如果我正確記得的話),那就意味着這些文件在EAR的類路徑中了...... – khmarbaise

回答

0

最後,我找到了一個解決方案。

 <plugin> 
      <artifactId>maven-ejb-plugin</artifactId> 
      <version>${version.ejb.plugin}</version> 
      <configuration> 
       <ejbVersion>${version.ejbImpl}</ejbVersion> 
       <archive> 
        <manifestEntries> 
         <Class-Path>resources</Class-Path> 
        </manifestEntries> 
       </archive> 
      </configuration> 
     </plugin> 
0

繼如果資源文件夾在你的Maven項目中的頂層文件夾應該工作。

<build> 
    <resources> 
     <resource> 
     <directory>resources</directory> 
     </resource> 
    </resources> 
</build> 

如果它不是一個頂級目錄,試圖利用它默認把一切都在它進入目標神器的src/main/resources文件夾。

+0

我希望你已經在ejb的pom中添加了上面的內容,而不是在耳朵裏。如果是,則使用maven-jar-plugin來控制manifest.mf中的條目。 – Shinchan

+0

嗨,謝謝你的評論。但它不是我在找什麼! 首先:我的「資源」文件夾位於我的Maven耳機模塊中,如果我在我的EJB模塊中將此文件夾添加爲或作爲,則Maven會將資源的內容添加到JAR或EAR的根目錄,但我需要以我的資源文件夾放置在EAR根目錄中的方式打包我的EAR,並且當我想要加載資源文件夾的內容時,我只提及資源名稱。 – Mehran

+0

我的意思是我喜歡用 tread.getContextClassLoader() \t \t \t \t .getResource( 「myXml.xml」) ,而不是使用falowwing: tread.getContextClassLoader() \t \t \t \t .getResource(「資源\ myXml.xml「) 再次感謝 – Mehran

相關問題