3

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

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

org.apache.maven.plugins maven-ear-plugin 2.3.1 foo foo 1.4 lib ${parent.groupId} foo-web /foo org.richfaces.framework richfaces-api commons-lang commons-lang

提前谢谢了。

4

3 回答 3

9

maven-ear-plugin 2.4.2中,您可以使用配置元素 earSourceDirectory、earSourceExcludes 和 earSourceIncludes 来声明要包含在 EAR 中的额外文件。

默认情况下,您只需将这些文件放在 ${basedir}/src/main/application 文件夹中。

于 2010-10-15T18:31:41.433 回答
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目录下。

于 2013-06-27T15:52:32.710 回答
1

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

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

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>

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

于 2016-08-03T08:13:05.007 回答