Maven-assembly-Plugin Maven-Jar-Plugin

Ich versuche, das maven-assembly-plugin zum ersten mal. Im wesentlichen möchte ich kombinieren die Ausgabe von der maven-assembly-plugin mit, dass der maven-jar-plugin in den target/classes-Verzeichnis, so kann ich trotzdem die app in Eclipse.

Ich konnte nicht einen Weg finden, zu sagen, das maven-jar-plugin zum sammeln der Ausgabe von der maven-assembly-plugin. Ebenso fand ich keine Möglichkeit zu sagen, assembly-plugin, um Ihre Ausgabe in target/classes.

Dem schließt sich ich cam zu einer Lösung war zu sagen-assembly-plugin zur Ausgabe seiner Folge-Klassen.dir-Verzeichnis. Das suffix 'dir' ist das format verwendet, während "Klasse" ist die finalName definieren Sie in der plugin-Konfiguration.

Ich hatte gehofft, dass die Verzeichnis-single zwingen würde-assembly-plugin zu ignorieren, das format und damit auch die Leistung in die Klassen-Verzeichnis. Dies funktioniert nicht für mich, bin ich falsch in der Beschreibung dieses Ziel?

Wie würde Euch dieses Problem lösen? Unten ist meine assembly-plugin-Deklaration in der pom sowie meine Deskriptor:

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-1</version>
            <executions>
                <execution>
                    <id>package</id>
                    <goals>
                         <goal>directory-single</goal> 
                    </goals>
                    <phase>package</phase>
                </execution>
            </executions>
            <configuration>
                <appendAssemblyId>false</appendAssemblyId>
                <finalName>classes</finalName>

                <descriptors>
                    <descriptor>descriptor.xml</descriptor>
                </descriptors>
            </configuration>
        </plugin>


     <assembly>
     <files>
    <file>
        <source>${repository-path}</source>
        <outputDirectory>/</outputDirectory>
        <filtered>true</filtered>
        <destName>repository.xml</destName>
    </file>
    </files>
    <fileSets>
    <fileSet>
        <directory>src/main/resources</directory>
        <outputDirectory>/</outputDirectory>
    </fileSet>
    <fileSet>
         <directory>${project.build.directory}</directory>
    </fileSet>
   </fileSets>
  </assembly>
Welches problem versuchst du zu lösen? Könnten Sie erklären, diese Faust bitte? Dann werden wir sehen, ob es eine Lösung gibt. Aber für jetzt, was Sie zu erreichen versuchen, ist wirklich nicht klar für mich.
Danke, lass mich neu formulieren. 1) Der primäre Grund, warum ich Montage plugin ist, benennen Sie einige Dateien während des build-Prozesses. Ich habe verschiedene Versionen von Dateien, her, QA, Prod und Dev, und dies sollte tramsparent der app. Nun, die assembly-plugin löst dieses problem. Aber das problem, das er schafft, ist, dass ich nicht finden können, einen Weg, um die generierten Dateien in den target/classes-Ordner, so dass die app Lesen kann, auf die gleiche Weise, es wäre nicht in Prod. Also, einfach gesagt, wie sage ich es-assembly-plugin, um die verarbeiteten Daten in die Ziel - /Klassen anstatt target/classes.dir?
Nicht profile eine option? Verwaltung Umwelt spezifische Sachen ist eine gute Verwendung für profile (in Kombination mit filtern).
Sie können nicht gefiltert werden direkt der Inhalt ist groß und unterscheidet sich stark. Die Problemumgehung besteht darin, den Namen dieses config-Datei in eine andere Datei und dann filtern diese letztere Datei. Das bedeutet, die app wird Lesen müssen Sie die zweite Datei, um festzustellen, welche config Datei es Lesen muss. Es muss eine viel einfachere Lösung.
Kannst du nicht eine oder die andere mit gleichem Namen), je nachdem, welches Profil Sie verwenden? Wirklich, Sie sollten aktualisieren Sie Ihre Frage mit dem genauen problem, das Sie lösen wollen.

InformationsquelleAutor Klaus | 2009-11-04

Schreibe einen Kommentar