4

我有任意 .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) 中。

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

纳赛夫,

4

3 回答 3

2

尝试使用这里描述的资源插件:http ://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html

于 2010-11-24T19:27:44.620 回答
1

我得到了它。谢谢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 首先执行“验证”阶段,以便在打包 ear 之前完成复制。那是成功的。

于 2010-11-26T08:26:39.987 回答
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>
于 2014-06-27T18:17:08.260 回答