如何通过maven将资源文件夹添加到我的EJB jar

How to add resource folder to the my EJB jar by maven

我们的 EAR 中有一个 resources 文件夹,该文件夹包含一些图像、xml 和文本文件。 我需要将此文件夹添加到我们的 EJB 清单类路径中。

myEAR
|-> resources 
|     |-> myXml.xml
|     |-> mytext.txt
|->lib
|   |-> pojo1.jar
|   |-> pojo2.jar 
|->ejb.jar

目前,我的 maven ear 插件将我们的 *.jar 添加到我的 EJB jar 类路径中,例如,我们的 ejb.jar 清单看起来像吹:

Class-Path: lib/pojo1.jar lib/pojo2.jar

但我也需要将我们的“resources”文件夹添加到这个类路径中:

Class-Path: resources lib/pojo1.jar lib/pojo2.jar 

如果资源文件夹是您的 maven 项目中的顶级文件夹,则以下内容应该有效。

<build>
    <resources>
        <resource>
        <directory>resources</directory>
        </resource>
    </resources> 
</build>

如果它不是顶级文件夹,请尝试利用 src/main/resources 文件夹,该文件夹默认将其下的所有内容放入目标工件。

最后,我找到了解决办法。我们通过使用 EJB 模块 POM 文件中的 标记将资源文件夹添加到类路径:

        <plugin>
            <artifactId>maven-ejb-plugin</artifactId>
            <version>${version.ejb.plugin}</version>
            <configuration>
                <ejbVersion>${version.ejbImpl}</ejbVersion>
                <archive>
                    <manifestEntries>
                         <Class-Path>resources</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>