Wie zu verwenden Maven-assembly-plugin mit multi-Modul maven-Projekt

Ich bin neu in maven und verbrachte ~3 Tage in der Erzeugung der zip-Datei mit dem assembly-plugin bezieht sich auf http://www.petrikainulainen.net/programming/tips-and-tricks/creating-a-runnable-binary-distribution-with-maven-assembly-plugin/ Mein Projekt ist multi-Modul, so dass ich auch im Sinne Verwalten von multi-Modul-Abhängigkeiten mit dem Maven assembly plugin

Dennoch habe ich einige Ineffizienzen. Unten ist assembly.xml (die habe ich geerbt von 1. link)

 <assembly>
<id>bin</id>
<!-- Generates a zip package containing the needed files -->
<formats>
    <format>zip</format>
</formats>

<!-- Adds dependencies to zip package under lib directory -->
<dependencySets>
    <dependencySet>
        <!-- Project artifact is not copied under library directory since it is 
            added to the root directory of the zip package. -->
        <useProjectArtifact>false</useProjectArtifact>
        <outputDirectory>lib</outputDirectory>
        <unpack>false</unpack>

    </dependencySet>
</dependencySets>
<moduleSets>
    <moduleSet>

        <!-- Enable access to all projects in the current multimodule build! <useAllReactorProjects>true</useAllReactorProjects> -->

        <!-- Now, select which projects to include in this module-set. -->
        <includes>
            <include>com.XX:YY-main</include>
        </includes>

        <!--<binaries> <outputDirectory>YY-main/target</outputDirectory> <unpack>false</unpack> 
            </binaries> -->
    </moduleSet>
</moduleSets>
<fileSets>
    <!-- Adds startup scripts to the root directory of zip package. The startup 
        scripts are located to src/main/scripts directory as stated by Maven conventions. -->
    <fileSet>
        <directory>${project.build.scriptSourceDirectory}</directory>
        <outputDirectory>conf</outputDirectory>
        <includes>
            <include>*</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>${project.build.directory}</directory>
        <outputDirectory></outputDirectory>
        <includes>
            <include>log4j.properties</include>
        </includes>
    </fileSet>
    <!-- adds jar package to the root directory of zip package -->
    <fileSet>
        <directory>${project.build.directory}</directory>
        <outputDirectory></outputDirectory>
        <includes>
            <include>*with-dependencies.jar</include>
        </includes>
    </fileSet>
</fileSets>

Unten ist die pom.xml (primär-oder Haupt -)

 <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.4</version>
             <configuration>                    <descriptors>
              <descriptor>YY-main/src/main/assembly/assembly.xml</descriptor>   
         <!-- <descriptor>DummyAssembly.xml</descriptor> -->

                </descriptors>
            </configuration>
        </plugin>   

Fragen:

1)Seit assembly.xml bezeichnet in der Grundschule pom, alle Submodule erhalten auch RV. Wie kann ich festlegen, nur bestimmte Submodule gezippt werden, während alle anderen ignoriert. Ich versuchte mich zu bewegen YY-main/src/main/assembly/assembly.xml aus der main-pom Kind/Submodul pom und haben dummyassembly.xml in main-die tut nichts. Aber das funktioniert nicht (vielleicht, weil dummyassembly.xml fehlen einige erforderliche Linien). habe versucht, einige Dinge, aber nichts scheint zu funktionieren

2)Auch in assembly.xml (dependencyset), es ist das kopieren aller Bibliotheken "lib" - Ordner. Wie kann ich dies vermeiden. wieder versuchte ich einige Dinge (Ausschluss..), basierend auf http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_dependencySet aber nichts funktionierte.

Kann jemand mir mit konkreten Aussagen, die ich ändern sollte in meinem pom oder assembly Dateien auf Adresse 1-und 2-Dank

Schreibe einen Kommentar