官方资料http://maven.apache.org/plugins/maven-dependency-plugin/
当项目很大时,若是将全部的依赖都打包到war包或jar包中,会致使这个文件很大,而不少状况下,依赖的库是不须要改变的。解决方法是将依赖的库放在单独的目录中,在执行java命令时,将它们加入到classpath。
插件的用法示例以下html
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <excludeScope>provided</excludeScope><!--若是<includeScope>与<excludeScope>同时出现,<excludeScope>将被忽略--> <outputDirectory>${project.basedir}/target/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin>
须要注意的是,若是<includeScope>与<excludeScope>同时出现,<excludeScope>将被忽略
这个插件中的scope的含义与dependency中的scope含义是有差异的,好比<includeScope>compile</includeScope>是指包含compile、provided、system。 具体介绍看官方文档https://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.htmljava