2

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

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

4

2 回答 2

3

最简单的解决方案是将相应的文件放入src/main/application文件夹中。如果META-INF您可以简单地添加此文件夹,则该文件src/main/application夹和打包后的文件将打包到 EAR 文件中。

于 2013-09-12T17:59:16.497 回答
1

示例 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>
于 2019-11-14T18:21:26.433 回答