2010-10-15 73 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> 

希望它可以帮助人们从现在开始

相关问题