maven créer zip jar et des fichiers supplémentaires

Je ne comprends pas maven. Mieux utiliser ant, mais... j'ai réussi à créer pot (avec ou sans dépendances), j'ai réussi à copier bat coureur script fermer les bocaux, mais maintenant je veux créer des zip avec ce pot et cette chauve-souris. Donc j'utilise de l'assemblée plugin et obtenez BUUUM!!!! CADAAAM! Dans ma configuration, il arrive donc qu'il s'exécute en parallèle pot de l'emballage. J'ai écrit assemblée fichier:

    <assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>jg</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/classes</directory>
            <outputDirectory>/123</outputDirectory>
            <excludes>
                <exclude>assembly/**</exclude>
                <exclude>runners/**</exclude>
            </excludes>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <unpack>true</unpack>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>

Ensuite, j'ai lié maven-assembly-plugin:

<plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2.1</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
                <inherited>false</inherited>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>by.dev.madhead.lzwj.Main</mainClass>
                            <addClasspath>true</addClasspath>
                        </manifest>
                    </archive>
                    <descriptors>
                            <descriptor>src/main/resources/assembly/assembly.xml</descriptor>
                            <!-- <descriptorRef>jar-with-dependencies</descriptorRef> -->
                    </descriptors>
                </configuration>
            </execution>
        </executions>
    </plugin>

Maintenant je obtenir ce ./target:

  1. coureur.chauve-souris
  2. jar_without_dependencies.jar (c'est à partir de maven-jar-plugin, non?)
  3. jar_without_dependencies.jar

Et le troisième m'irrite. Il contient:maven créer zip jar et des fichiers supplémentaires
Et le 123 répertoire contient:maven créer zip jar et des fichiers supplémentaires

Comme vous le voyez, je reçois pot avec déballé dépendances, EXCLUS DIRS!!!!, et avec dir 123, qui est en fait ce que je veux (Oh! assemblée plugin fait que!!!).

Je veux obtenir un bocal avec des dépendances et de corriger manifeste avec classpath. En option je veux pot avec déballé dépendances (je sais à propos de <unpack>false</unpack> dans l'assemblée, mais ne peut pas le faire fonctionner). Je veux changer /123 /et obtenir NORMALE POT SANS les FICHIERS EXCLUS!!! J'en veux deux tâches distinctes pour construire jar ou zip (c'est fait avec des profils de maven??) Comme des fourmis, j'aurais écrit quelque chose comme ceci:

    <target name="jar_with_deps" depends-on="compile">
        <jar>
            here i copy classes (excluding some dirs with runner script), and build manifest
        </jar>
        <copy>
            copy bat file from src/main/resources/runner/runner.bat
        </copy>
    </target>
    <target name="zip" depends-on="jar_with_deps">
        <zip>
            Get jar from previous target, get runner.bat. Put them in zip
        </zip>
    </target>

Excusez-moi, si je suis trop expressif, mais je suis vraiment en colère contre ce implicites de comportement. Je suis vraiment coincé avec ce.

<descriptorRef>jar-with-dependencies</descriptorRef> ne fonctionne pas trop
Essayé de supprimer <packaging>pot</emballage>. Ne fonctionne pas, que le pot est par défaut de l'emballage...
Ok, obtenu jar-with-dependencies travail. Mais encore besoin de personnalisation.
Plutôt que d'écrire un shitload ce que vous avez fait, écrire précisément ce que vous voulez atteindre. J'aimerais aider, mais j'ai arrêté de lire après le premier alinéa, parce que vous avez écrit trop de hors-sujet.
Je veux deux "tâches": créer un jar avec dépendances et de générer des zip avec elle + bat fichier de ressources. Deuxièmement, la "tâche", doit dépendre de la première.

OriginalL'auteur madhead | 2011-11-26