Maven-ear-plugin没有复制xml文件

时间:2013-09-12 13:16:42

标签: maven maven-2

我的maven项目中有3个模块用于jar,war和ear包。当我构建JAR文件时,我将一些XML文件添加到META-INF目录(如jboss.xml或ejb-jar.xml)。 如果我构建EAR,那么包中包含jar文件但在META-INF中没有XML文件......

我很困惑,因为我不知道如何改变它。请帮忙

2 个答案:

答案 0 :(得分:3)

最简单的解决方案是将适当的文件放入src/main/application文件夹。如果是META-INF,您只需将此文件夹添加到src/main/application文件夹中,打包后文件将打包到EAR文件中。

答案 1 :(得分:0)

示例Maven项目

  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>fun</groupId>
      <artifactId>fun</artifactId>
      <version>1.0</version>
      <packaging>ear</packaging>
      <build>
      <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
            <finalName>MyEarFile</finalName>
            <version>5</version>
            <generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation>
            <modules>
                <webModule>
                    <groupId>fun</groupId>
                    <artifactId>fun</artifactId>
                    <uri>fun.war</uri>
                    <bundleFileName>fun.war</bundleFileName>
                    <contextRoot>/fun</contextRoot>
                </webModule>
            </modules>
        </configuration>
    </plugin>           <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.4</version>
          <configuration>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
          </plugins>
          </build>

      <dependencies>

            <dependency>
                <groupId>fun</groupId>
                <artifactId>fun</artifactId>
                <version>1.0</version>
                <type>war</type>
            </dependency>
            </dependencies>
    </project>