【问题标题】:Maven: How to add files to the root inside an EAR with maven-ear-plugin?Maven:如何使用 maven-ear-plugin 将文件添加到 EAR 内的根目录?
【发布时间】:2011-04-26 02:08:19
【问题描述】:

我需要在使用 maven-ear-plugin 生成的 EAR 中添加 2 个 XML 文件。

不幸的是,我还没有看到将任意文件添加到 EAR 的方法。插件的documentation 显示“EAR 插件支持以下工件:ejb、war、jar、ejb-client、rar、ejb3、par、sar、wsr 和 har”。没有什么可以添加常规文件。

org.apache.maven.plugins maven-ear-插件 2.3.1 富 富 1.4 库 ${parent.groupId} 富网 /foo org.richfaces.framework richfaces-api 公共语言 公共语言

非常感谢。

【问题讨论】:

    标签: maven-2 maven-ear-plugin


    【解决方案1】:

    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包的时候,它会自动拉取properties文件,放到ear的lib目录下。

      【讨论】:

        【解决方案3】:

        很抱歉@wishihadabettername 迟到了,但我最近遇到了同样的问题,而且我无法移动要包含的文件,因为它们位于其他文件夹中,然后是 earSourceDirectory。我阅读了maven-ear-plugin ear:ear documentation 并考虑了如何将我的release 文件夹移动到耳朵的根部。

        默认绑定到生命周期阶段:包。

        workDirectory - 在构建期间将资源复制到的目录。

        默认值为: ${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>
        

        希望从现在开始对人们有所帮助

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-05-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-07
          相关资源
          最近更新 更多