Добавьте файлы .mf и .xml в каталог META-INF внутри EAR, созданного Maven.

StackOverflow https://stackoverflow.com/questions/4268482

Вопрос

У меня есть произвольные файлы .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>

но это не добавляет мои XML-файлы в сам EAR.

Я также попробовал:

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

эти команды добавляют мои файлы внутрь уха, но НЕ в META-INF внутри EAR (myEar.ear/META-INF).

Любая помощь приветствуется и будет здорово.Спасибо.

насеф,

Это было полезно?

Решение

Попробуйте использовать плагин ресурсов, как описано здесь: http://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html

Другие советы

Я понял.Спасибо Джгифф.Я действительно использовал плагин maven-resources-plugin, указав, где находятся мои XML-файлы, и что я хочу, чтобы они были скопированы в папку META-INF проекта на этапе «проверки», это важно.Мой помпон сейчас выглядит примерно так:

 <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 maven сначала выполняет фазу «проверки», поэтому копирование выполняется до упаковки Ear.Это было успешно.

Я добавлю эту дополнительную информацию для всех, кто сталкивается с этой проблемой при использовании IBM Rational Application Developer (RAD) для создания файлов политики и привязки для развертывания на WebSphere Application Server (WAS).

В нашем случае мы создали файлы привязки политик (policyAttachments.xml и wsPolicyServiceControl.xml) с помощью инструментов RAD для вложений наборов политик.По умолчанию они сохраняются в папке META-INF в корне проекта EAR.Если и есть удобный способ изменить это поведение по умолчанию, чтобы всегда помещать его в application/META-INF, то я с ним не сталкивался.Но описанные выше методы прекрасно работают в RAD с m2e для локального запуска и создания EAR.

Вот раздел моего пома, используемый для копирования этих файлов:

     <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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top