添加.mf& Maven内置EAR内的META-INF目录中的.xml文件

时间:2010-11-24 15:29:47

标签: file maven-2 configuration-files ear meta-inf

我有任意.xml& .mf文件,我必须添加到耳朵内部的META-INF文件夹中。使用maven2.2.1完成构建。只需在$ {basedir} / src / main / application / META-INF /下添加这些文件就可以正常工作,但它不符合我的需求。有没有其他方法可以做这样的事情?我试过了:

<build>
<resources>
        <resource>
            <directory>G:/WS/vermeg/ear2/XML's</directory>
            <targetPath>META-INF</targetPath>
        </resource>
    </resources>
</build>

但是这不会在EAR本身下添加我的xml文件。

我也尝试过:

<configuration>
            <earSourceDirectory>G:\WS\vermeg\ear2\XML's\</earSourceDirectory>
...
</configuration>

此命令将我的文件添加到耳内,但不在EAR内的META-INF中(myEar.ear / META-INF)。

欢迎任何帮助,并且会很棒。日Thnx。

nacef,

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我明白了。 Thanx Jgiff。 我确实使用了maven-resources-plugin,指定了我的xml所在的位置,并且我希望在“验证”阶段将它们复制到项目的META-INF文件夹中,这很重要。我的pom现在看起来像这样:

 <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-resources-plugin</artifactId>
           <version>2.4.3</version>
            <executions>
            <execution>
                <id>copy-resources</id>
                    <phase>validate</phase>
                    <goals>
                    <goal>copy-resources</goal>
                    </goals>
    <configuration>
       <outputDirectory>G:\WS\vermeg\ear2\src\main\application\META-INF\</outputDirectory>
            <resources>
            <resource>
                <directory>G:\WS\vermeg\ear2\XML's</directory>
                <filtering>true</filtering>
            </resource>
            </resources>
            </configuration>
            </execution>
            </executions>
        </plugin>

执行mvn clean install时,maven首先执行“验证”阶段,以便在打包耳朵之前完成复制。那是成功的。

答案 2 :(得分:0)

我将为使用IBM Rational Application Developer(RAD)遇到此问题的任何人添加此附加详细信息,以生成用于部署到WebSphere Application Server(WAS)的策略和绑定文件。

在我们的例子中,我们使用RAD工具为策略集附件生成策略绑定文件(policyAttachments.xml和wsPolicyServiceControl.xml)。默认情况下,这些转储到EAR项目根目录中的META-INF文件夹中。如果有一种方便的方法来修改此默认行为以始终将其放入application / META-INF,我没有遇到它。但是上述方法在RAD中运行得很好,m2e用于本地运行和构建EAR。

以下是用于复制这些文件的pom部分:

     <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-resources-plugin</artifactId>
         <version>2.4.3</version>
         <executions>
             <execution>
                 <id>copy-resources</id>
                 <phase>validate</phase>
                 <goals>
                     <goal>copy-resources</goal>
                 </goals>
                 <configuration>
                     <outputDirectory>${basedir}\src\main\application\META-INF\</outputDirectory>
                     <resources>
                         <resource>
                             <directory>${basedir}\META-INF</directory>
                             <filtering>true</filtering>
                         </resource>
                     </resources>
                 </configuration>
             </execution>
         </executions>
     </plugin>