Ben mvn package
üzerinde bir ayırıcı klasöründeki tüm bağımlılık kütüphaneleri topluyorum:Bir maven sınama kapsamı paket aşamasından nasıl hariç tutulur? aşağıdaki gibi
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven.copy.plugin}</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
Sorun: Bu da <scope>test</scope>
kütüphaneler içerir. Bu lib'leri nasıl hariç tutabilirim? test
kapsamı tüm bağımlılıklarını (https://issues.apache.org/jira/browse/MDEP-85) kapsar çünkü
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven.copy.plugin}</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib/</outputDirectory>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
Görünüşe <excludeScope>test</excludeScope>
görünmüyor
İlk soru: Bunu neden yapıyorsunuz? Böyle bir şey yapmanın niyeti nedir? EAR/WAR/oluşturma? – khmarbaise
Kullanım kılavuzunu okumadınız mı? http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html#excludeScope –
@khmarbaise Amacım, içine yerleştirilmiş tüm kütüphaneler olmadan, ancak ayrı bir klasörde, çalıştırılabilir bir kavanoz oluşturmaktır. yürütme dir. Projenin kendisi güncellendiğinde dosya boyutunu azaltır, ancak hiçbir bağımlılık değişmez (kavanoz projesini genellikle ağ üzerinden kopyalamak zorundadır). – membersound