2010-11-24 6 views
4

Ich habe willkürliche .xml & .mf-Dateien, die ich in den Ordner META-INF im Ohr selbst hinzufügen müssen. Die Erstellung erfolgt mit maven2.2.1. Einfach diese Dateien unter $ {basedir}/src/main/application/META-INF/hinzufügen, funktioniert gut, aber es passt nicht zu meinen Bedürfnissen. Gibt es eine andere Möglichkeit, so etwas zu tun? Ich habe versucht:.mf & .xml Dateien in META-INF-Verzeichnis innerhalb eines Maven gebaut EAR

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

aber nicht hinzufügen, meine XML-Dateien unter dem EAR selbst.

ich auch versucht:

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

diese Befehle meine Dateien im Ohr hinzufügen, aber nicht in dem META-INF innerhalb der EAR (myEar.ear/META-INF).

Jede Hilfe ist willkommen, und wäre großartig. Thnx.

nacef,

+0

Was mit src/main/Anwendung falsch ist ** genau? – ggb667

+0

Ich vermute, das Szenario ist Dateien außerhalb des Anwendungsverzeichnisses. In meinem Fall werden sie in einem anderen Verzeichnis erzeugt und ich musste sie automatisch verschieben. – peater

Antwort

1

ich habe es. Danke Jgiff. Ich habe tatsächlich das maven-resources-plugin benutzt, wo meine xmls liegen und dass ich sie im META-INF-Ordner des Projekts während der "validate" -Phase kopieren wollte, das ist wichtig. Mein pom sieht wie folgt irgendwie jetzt:

<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> 

Bei der Ausführung eines mvn saubere Installation, Maven führt die „Validate“ Phase zunächst so die Kopie vor dem Verpacken das Ohr erfolgt. Das war erfolgreich.

0

Ich füge dieses zusätzliche Detail für jeden hinzu, der dieses Problem mit IBM Rational Application Developer (RAD) zum Generieren von Richtlinien- und Bindungsdateien für die Bereitstellung in WebSphere Application Server (WAS) verursacht.

In unserem Fall erstellten wir Richtlinien-Bindungsdateien (policyAttachments.xml und wsPolicyServiceControl.xml) mit den RAD-Tools für Richtliniensatz-Anhänge. Standardmäßig werden diese in einen META-INF-Ordner im EAR-Projektstamm abgelegt. Wenn es eine praktische Möglichkeit gibt, dieses Standardverhalten zu ändern, um es immer in die Anwendung/META-INF zu bringen, bin ich nicht darauf gestoßen. Aber die obigen Methoden funktionieren in RAD gut mit m2e, um lokal zu laufen und EARs zu erstellen.

Hier wird der Abschnitt meines pom verwendet, um diese Dateien zu kopieren:

 <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>