2010-10-15 111 views
3

我需要在使用maven-ear-plugin生成的EAR中添加2個XML文件。Maven:如何使用maven-ear-plugin將文件添加到EAR中的根目錄?

不幸的是,我還沒有看到添加任意文件到EAR的方法;插件的documentation「EAR插件支持以下工件:ejb,war,jar,ejb-client,rar,ejb3,par,sar,wsr和har」。沒有什麼可以添加常規文件。

org.apache.maven.plugins 行家入耳式插件 2.3.1 富 富 1.4 LIB $ {} parent.groupId富 的Web /富 org.richfaces.framework richfaces-api 個 公共琅 公地郎

提前非常感謝。

回答

8

maven-ear-plugin 2.4.2中,您可以使用配置元素earSourceDirectory,earSourceExcludes和earSourceIncludes來聲明額外的文件以包含在EAR中。

默認情況下,您只需將這些文件放置到$ {basedir}/src/main/application文件夾。

2

我有同樣的問題。我在ejbs/src/main/resources下有ejb.properties文件,並使用earSourceDirectory和earSourceIncludes將文件從ejbs目錄下拉到耳邊。但是,它並沒有將可靠的放到lib目錄中。 EJB沒有找到它。它在lib目錄中查找它。

爲了解決這個問題,我創建了src/main/application/lib目錄並創建了一個到ejb.properties文件的鏈接。然後我刪除了earSourceDirectory和Includes屬性。現在,當我執行mvn clean包時,它會自動拖動屬性文件並將其放入耳朵的lib目錄中。

0

不好意思@wishihadabettername遲到了,但我最近有同樣的問題,更多我無法移動的文件,因爲他們在其他文件夾,然後earSourceDirectory。我讀maven-ear-plugin ear:ear documentation,並想過如何將我的release文件夾移動到耳朵根部。

默認綁定到生命週期階段:包。

workDirectory - Directory中的生成過程中的資源複製到。

默認值爲:$ {project.build.directory}/$ {} project.build.finalName

然後我的子模塊的pom.xml看起來是這樣的:

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>copy-resources</id> 
      <phase>prepare-package</phase> <!-- before package phase --> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <!-- Work Directory of Ear plugin --> 
       <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory> 
       <resources> 
        <resource> 
         <!-- my resource folder --> 
         <directory>release</directory> 
         <filtering>true</filtering> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

希望它可以幫助人們從現在開始

相關問題