295 votes

la force de Maven2 pour copier des dépendances dans cible/lib

Comment puis-je obtenir les dépendances de duree de mon projet copiés dans le `` dossier ?

Comme il est maintenant, juste après la dossier contient seulement le pot de mon projet, mais aucun des dépendances runtime.

295voto

Georgy Bolyuba Points 3932

Cela fonctionne pour moi:

 <project>
  ...
  <profiles>
    <profile>
      <id>qa</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <phase>install</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/lib</outputDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
 

118voto

user3286149 Points 51
<pre><code></code><p>Fonctionne pour moi avec le répertoire de dépendances créé dans le dossier cible. Comme c’est !</p></pre>

95voto

John Stauffer Points 5988

La meilleure approche dépend de ce que vous voulez faire:

  • Si vous voulez regrouper vos dépendances dans un WAR ou EAR de fichier, il vous suffit de définir le type d'emballage de votre projet à l'OREILLE ou à la GUERRE. Maven va regrouper les dépendances dans le bon endroit.
  • Si vous souhaitez créer un fichier JAR qui contient votre code avec tous vos dépendances, puis utilisez l' assemblée plugin avec le jar-with-dependencies descripteur. Maven va générer un état complet du fichier JAR avec toutes vos classes, plus les classes à partir de toutes les dépendances.
  • Si vous voulez, il suffit de tirer vos dépendances dans le répertoire cible de manière interactive, puis utilisez la dépendance plugin pour copier vos fichiers.
  • Si vous voulez tirer dans les dépendances d'un autre type de traitement, alors vous aurez probablement besoin de générer votre propre plugin. Il y a des Api pour obtenir la liste des dépendances et de leur emplacement sur le disque. Vous aurez à prendre à partir de là...

39voto

Travis B. Hartwell Points 2309

Jetez un oeil à la dépendance Maven plugin, plus précisément, de la dépendance:la copie des dépendances objectif. Jetez un oeil à l'exemple , sous la rubrique de La dépendance:la copie des dépendances mojo. Définir la outputDirectory propriété de configuration dans ${basedir}/cible/lib (je crois, vous aurez à tester).

Espérons que cette aide.

34voto

ruhsuzbaykus Points 3100

Une solution simple et élégante pour le cas où l'on a besoin de copier les dépendances vers un répertoire cible sans utiliser les autres phases de maven (j’ai trouvé cela très utile lorsque vous travaillez avec Vaadin).

Exemple complet pom :

Puis exécutez``

On trouvera les dépendances entre les fichiers jar dans``

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X