Question

J'utilise le plugin EAR Maven pour créer mes fichiers d'oreille pour un nouveau projet. J'ai remarqué dans la documentation du plugin, vous pouvez spécifier exclude pour les modules. Par exemple, la configuration de mon plugin est la suivante ...

  <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
            <jboss>
                <version>5</version>
            </jboss>
            <modules>
                <!-- Include the templatecontroller.jar inside the ear -->
                    <jarModule>
                        <groupId>com.kewill.kdm</groupId>
                        <artifactId>templatecontroller</artifactId>
                        <bundleFileName>templatecontroller.jar</bundleFileName>
                        <includeInApplicationXml>true</includeInApplicationXml>
                    </jarModule>
                    <!-- Exclude the following classes from the ear -->
                    <jarModule>
                       <groupId>javax.activation</groupId>
                       <artifactId>activation</artifactId>
                       <excluded>true</excluded>
                    </jarModule>
                    <jarModule>
                   <groupId>antlr</groupId>
                   <artifactId>antlr</artifactId>
                   <excluded>true</excluded>
                </jarModule>
                ... declare multiple excludes
                <security>
                    <security-role id="SecurityRole_1234">
                        <role-name>admin</role-name>
                    </security-role>
                </security>
            </configuration>
        </plugin>
    </plugins>

Cette approche est tout à fait bien avec de petits projets où vous avez dit 4-5 modules à exclure. Cependant, dans mon projet, j'ai 30 + et nous avons juste commencé le projet afin qu'il développe cela est susceptible de croître.

En plus de déclarer explicitement exclure des déclarations par module est-il possible d'utiliser des caractères génériques ou exclure et toutes les dépendances que maven drapeau pour inclure les modules i et tout exclure déclare par ailleurs? Quelqu'un est-il au courant d'une solution plus élégante?

Était-ce utile?

La solution

  

En plus de déclarer explicitement exclure des déclarations par module est-il possible d'utiliser des caractères génériques ou exclure et toutes les dépendances de Maven drapeau pour inclure uniquement les modules et je déclare exclure tout autre?

Le maven-ear-plugin ne fournit pas cette fonctionnalité hors-boîte (et je ne pense pas qu'il serait facile de configurer de toute façon, l'oreille doit être emballé très précisément). Cependant, ce qui est pas clair ici est de savoir comment vous obtenez les dépendances dont vous avez besoin à exclure. En fonction de votre réponse, il pourrait y avoir plusieurs façons de les traiter:

  • Vous pourriez peut-être déclarer certains d'entre eux en option si elles sont des dépendances de vos artefacts pour éviter de les récupérer transitive.
  • Vous pourriez peut-être marquer quelques dépendances comme « fourni » (et les mettre dans une pom-mère, redéclarer seulement ce que vous voulez dans le POM de l'AER).

Difficile de répondre sans voir le tableau d'ensemble bien.

Autres conseils

Je ne sais pas de savoir si les jokers sont pris en charge, mais il est très simple d'écrire votre propre mojo. Vous pouvez envelopper le mojo existant, puis prendre une configuration arbitraire de votre propre conception, comme votre syntaxe générique.

Mieux encore, vous pouvez soumettre votre mojo à l'équipe de Maven (!)

i faisait face à un problème similaire. mais parce que j'avais un projet de module à plusieurs avec plusieurs pots ayant la portée fourni, i juste enlevé la balise parent de l'enfant l'oreille pom, il en le rendant indépendant. puis en utilisant notamment d'inclure autant de pots que j'ai besoin.

espérons que cette aide !!!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top