我需求是 copy(copy-dependencies) compile 和 system 范围的依赖。
我想当然的以为这样配置能行
<includeScope>compile</includeScope>
<excludeScope>provided</excludeScope>
但事实上 include 不能和 exclude 同时工作,所以只能配置这一个<excludeScope>provided</excludeScope>
然后 excludeArtifactIds 排除掉 junit 等
话说有没有其它简洁的方法
PS:includeScope 的配置说明
runtime scope gives runtime and compile dependencies,
compile scope gives compile, provided, and system dependencies,
test (default) scope gives all dependencies,
provided scope just gives provided dependencies,
system scope just gives system dependencies.
配置两个就行了
<executions>
<execution>
<id>copy-dependencies-runtime</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html#includeScope-->
<includeScope>runtime</includeScope>
<!--依赖传递-->
<excludeTransitive>false</excludeTransitive>
</configuration>
</execution>
<execution>
<id>copy-dependencies-system</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>system</includeScope>
<!--过滤依赖传递-->
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
<execution>
<id>install</id>
<phase>install</phase>
<goals>
<goal>sources</goal>
</goals>
</execution>
</executions>