概要
Maven提供了很多的插件,具体有哪些插件,可以在官网上查到:
本篇博客主要是总结下对maven dependency插件的使用心得。
maven dependency插件的主要作用:
它属于工具类的插件。它提供了操作构件(artifact)的能力,可以从本地或者远程仓库 复制或者解压特定构件到指定位置。
目标(goals)
Dependency插件支持许多目标(goals),可以参考下面链接:
这里呢,主要介绍copy和copy-dependencies、unpack、get这几个goals。
copy
通过在 pom.xml 文件中的插件配置处定义一系列构件,可以做到复制、重命名、指定版本等操作。它可以解决本地仓库或者项目中缺少某个构件文件的问题,并把它们放到指定位置。
插件配置细节可以看官网介绍
在pom.xml中的配置参考如下:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>[ groupId ]</groupId>
<artifactId>[ artifactId ]</artifactId>
<version>[ version ]</version>
<type>[ packaging ]</type>
<classifier> [classifier - optional] </classifier>
<overWrite>[ true or false ]</overWrite>
<outputDirectory>[ output directory ]</outputDirectory>
<destFileName>[ filename ]</destFileName>
</artifactItem>
</artifactItems>
<!-- other configurations here -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
配置完,可以通过如下命令行执行:
mvn dependency:copy
copy-dependencies
作用:
从仓库中复制项目依赖的构件到指定位置。
插件配置细节可以看官网介绍
在pom.xml中的配置参考如下:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</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>
</plugins>
</build>
[...]
</project>
配置完,可以通过如下命令行执行:
mvn dependency:copy-dependencies
unpack
作用:
从仓库中抓取一系列构件,然后解压它们到指定位置。
插件配置细节可以看官网介绍
在pom.xml中的配置参考如下:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>unpack</id>
<phase>package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
<destFileName>optional-new-name.jar</destFileName>
<includes>**/*.class,**/*.xml</includes>
<excludes>**/*test.class</excludes>
</artifactItem>
</artifactItems>
<includes>**/*.java</includes>
<excludes>**/*.properties</excludes>
<outputDirectory>${project.build.directory}/wars</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
配置完,可以通过如下命令行执行:
mvn dependency:unpack
get
作用:
从指定的仓库解析单个构件(artifact),包括可传递性。
插件配置细节可以看官网介绍
操作命令如下:举例获得spring-core
mvn dependency:get -DgroupId=org.springframework -DartifactId=spring-core -Dversion=5.1.5.RELEASE transitive=true
其中,transitive=true 代表同时还要抓取该构件的依赖构件。
总结
maven提供了强大的插件功能,遇到任何不清楚地,可以去官网查找资料,然后本地尝试
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155847.html