Maven - Kopiert bestimmte Abhängigkeiten mit ihren transitiven Abhängigkeiten an einen bestimmten Ort

Ich habe ein Maven-Projekt, bei dem ich Spring-Framework-Bibliotheken als Abhängigkeiten angegeben habe. Ich möchte Spring-Framework-Abhängigkeiten mit ihren transitiven Abhängigkeiten an einen angegebenen Ort kopieren.

Ich habe Maven-Abhängigkeits-Plugin-Anleitungen bei Apache durchgesehen. Ich habe mehrere Optionen, bei denen keine das gesamte Problem lösen wird.

Option Abhängigkeiten kopieren
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
          </execution>
        </executions>
      </plugin>

Dadurch werden alle Abhängigkeiten und Transitivdateien an einen bestimmten Ort kopiert. Ich möchte nur Frühlingsabhängigkeiten und Transitivdateien.

Kopieren bestimmter Artefakte
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                   <groupId>org.springframework</groupId>
                   <artifactId>spring-web</artifactId>
                   <version>3.2.4.RELEASE</version>
                  <type>jar</type>
                  <overWrite>false</overWrite>                  <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
                  <destFileName>optional-new-name.jar</destFileName>
                </artifactItem>
              </artifactItems>
              <outputDirectory>${project.build.directory}/wars</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
            </configuration>
          </execution>
        </executions>
      </plugin>

Damit werden die transitiven Abhängigkeiten nicht bewältigt.

Jede Lösung, die meine beiden Probleme löst.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage