MAVEN - 使用maven-dependency-plugin的应用场景是什么?

这篇具有很好参考价值的文章主要介绍了MAVEN - 使用maven-dependency-plugin的应用场景是什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简述

maven-dependency-plugin是MAVEN的一个插件。

作用

该插件主要用于管理项目中的依赖,使用该插件可以方便地查看、下载、复制和解压缩依赖,还支持生成依赖树和依赖报告。

功能

该插件有很多可用的GOAL,大部分与依赖构建、依赖分析和依赖解决相关,这些GOAL可以直接用MAVEN的命令操作。
官方定义的所有的GOAL:https://maven.apache.org/plugins/maven-dependency-plugin/index.html

MAVEN - 使用maven-dependency-plugin的应用场景是什么?

常见的操作如下:
(1)mvn dependency:tree,显示该项目的依赖关系树;
MAVEN - 使用maven-dependency-plugin的应用场景是什么?
(2)mvn dependency:analyze,分析项目依赖,确定哪些依赖是已使用已声明的,已使用未声明的,未使用已声明的?
MAVEN - 使用maven-dependency-plugin的应用场景是什么?

(3)mvn dependency:copy,将配置在插件中的JAR包复制到指定位置;
copy的配置:https://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html
(4)mvn dependency:copy-dependencies,将项目POM文件中定义的所有依赖及其传递依赖复制到指定位置;
copy-dependencies的配置:https://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html
(5)mvn dependency:unpack,将配置在插件中的JAR包复制到指定位置,并且将JAR包进行解压缩;
(6)mvn dependency:unpack-dependencies,将项目POM文件中定义的所有依赖及其传递依赖复制到指定位置,并且将JAR包进行解压缩;

应用场景

(1)某个特殊的JAR包,无法直接通过MAVEN依赖获取或者说MAVEN仓库内也不存在,那么如何将我们所需要的JAR包打入我们的生产JAR包中呢?使用:mvn dependency:copy 可以解决该问题
(2)某个特殊的JAR包内包含我们需要的文件,或者说我们如何将所需的文件从JAR包中提取出来并放入指定的位置?使用:mvn dependency:unpack 可以解决该问题文章来源地址https://www.toymoban.com/news/detail-481900.html

如何使用

第一步,在POM文件中添加如下内容:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>3.2.0</version>
      <!--<executions> 标签中添加需要执行的操作,可以添加的操作如下: -->
      <executions>
        ...
      </executions>
    </plugin>
  </plugins>
</build>
第二步,根据需要添加相关操作:
  1. 将所有依赖包复制到 target/libs 目录下。
<execution>
  <id>copy-dependencies</id>
  <phase>package</phase>
  <goals>
    <goal>copy-dependencies</goal>
  </goals>
  <configuration>
    <outputDirectory>${project.build.directory}/libs</outputDirectory>
  </configuration>
</execution>
  1. 将所有依赖包解压到 target/classes/lib 目录下。
<execution>
  <id>unpack-dependencies</id>
  <phase>package</phase>
  <goals>
    <goal>unpack-dependencies</goal>
  </goals>
  <configuration>
    <outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
  </configuration>
</execution>
  1. 将依赖列表输出到 target/dependency-report.txt 报告文件中。
<execution>
  <id>dependency-report</id>
  <phase>compile</phase>
  <goals>
    <goal>list</goal>
  </goals>
  <configuration>
    <outputFile>${project.build.directory}/dependency-report.txt</outputFile>
  </configuration>
</execution>
  1. 将junit-4.11.jar复制到${project.build.directory}/lib/lib1目录下,将slf4j-log4j12-1.7.7.jar复制到${project.build.directory}/lib/lib2目录下。
<execution>
	<id>copy</id>
	<phase>package</phase>
	<goals>
		<goal>copy</goal>
	</goals>
	<configuration>
		<artifactItems>
			<artifactItem>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.11</version>
				<outputDirectory>${project.build.directory}/lib/lib1</outputDirectory>
			</artifactItem>
			<artifactItem>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>1.7.7</version>
				<outputDirectory>${project.build.directory}/lib/lib2</outputDirectory>
			</artifactItem>
		</artifactItems>
	</configuration>
</execution>
  1. 将dubbo-2.8.4.jar文件中META-INF/assembly/bin下的所有文件复制到${project.build.directory}/dubbo目录中。
<execution>
	<id>unpack</id>
	<phase>package</phase>
	<goals>
		<goal>unpack</goal>
	</goals>
	<configuration>
		<artifactItems>
			<artifactItem>
				<groupId>com.alibaba</groupId>
				<artifactId>dubbo</artifactId>
				<version>2.8.4</version>
				<outputDirectory>${project.build.directory}/dubbo</outputDirectory>
				<includes>META-INF/assembly/bin\**</includes>
			</artifactItem>
		</artifactItems>
	</configuration>
</execution>

到了这里,关于MAVEN - 使用maven-dependency-plugin的应用场景是什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • maven工程使用jacoco-maven-plugin插件,无法生成覆盖率测试报告问题

    当我们在maven工程中引入maven-surefire-plugin插件执行单元测试代码后,突然发现在集成jacoco-maven-plugin插件生成测试覆盖率报告时,因为插件参数配置问题,发现无法生成测试报告了。 解决方案 此时, 1、我们在jacoco-maven-plugin插件中定于一个属性 propertyNamesurefireArgLine/propertyNam

    2024年02月13日
    浏览(40)
  • 【项目实战】使用Maven插件(jacoco-maven-plugin),实现生成代码覆盖率报告

    jacoco-maven-plugin是一个Maven插件,用于生成代码覆盖率报告。 它可以帮助您了解您的代码中哪些部分已经被测试覆盖,哪些部分需要更多的测试。 注意,jacoco-maven-plugin 需要 Java 1.5 或更高版本才能运行。 要使用jacoco-maven-plugin,需要在Maven项目中添加以下配置:

    2024年02月15日
    浏览(43)
  • SpringBoot使用git-commit-id-maven-plugin打包

    git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。 你是否经常遇到这样的问

    2024年02月21日
    浏览(29)
  • 使用docker-maven-plugin插件构建镜像并推送至私服Harbor

    如下所示,建议使用 Dockerfile Maven 插件,但该插件也停止维护更新了。因此先暂时使用 docker-maven-plugin 插件。 默认的dokcer是不支持远程访问的,需要加点配置,开启Docker的远程访问 确定docker配置文件位置在:/etc/systemd/system/docker.service 然后编辑修改docker配置文件: 找到包含

    2024年02月11日
    浏览(61)
  • 【Docker】使用docker-maven-plugin插件构建发布推镜像到私有仓库

    本文描述了在Spring Boot项目中通过docker-maven-plugin插件把项目推送到私有docker仓库中,随后拉取仓库中的项目用docker run运行项目。作者自行构建,质量有保证。 1、要想使用 docker-maven-plugin ,需要在 pom.xml 中添加该插件; 注:注意下db:3306 2、我们构建镜像之前需要先将项目打包

    2024年02月15日
    浏览(48)
  • 找不到插件 ‘org.apache.maven.plugins:maven-compiler-plugin:‘

    太坑啦,打开idea突然给我报这个错误,不知所以然。 找了好多教程,发现是version的问题。 找到maven本地仓库以下路径 apache-maven-3.8.6maven-repoorgapachemavenpluginsmaven-compiler-plugin 查看到版本号 添加版本号. 然后就不报错了    

    2024年01月24日
    浏览(41)
  • Maven项目解决cannot resolve plugin maven-deploy-plugin:2.7

    导入maven项目后,编辑的时候提示一些插件加载失败!大概率是你的网络有问题,插件下载失败。 如下图:(网络突然好了,我想截图但是没有复现,用网上找到的截图代替,明白意思就行) 其余的情况也可以用同样的方式解决。 问题的原因基本上就是网络问题导致的下载

    2024年02月14日
    浏览(44)
  • 解决:使用maven打包时dubbo-admin-ui构建失败 (Failed to execute goal com.github.eirslett:frontend-maven-plugin)

    在安装dubbo监控中心dubbo-admin 时,使用maven打包项目一直报错 提示 dubbo-admin-ui 构建失败 Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.9.0:npm (npm install) on project dubbo-admin-ui: Failed to run task: ‘npm install’ failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 7 大概意思

    2024年02月05日
    浏览(58)
  • 解决Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3问题

    构建maven项目遇到问题: 打开设置-Build,Execution,Deployment-Build Tools-Maven,如下图: 问题的原因出在:在该项目集成的maven和当前项目设置不统一(可能是之前集成过maven,系统默认c盘路径),所以,按下图更改需要集成的maven路径,下面那个需要点override  然后重新创建项目,显

    2024年02月16日
    浏览(37)
  • Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3问题和解决方法

    出现问题时候的截图不小心删除了,下面只书面赘述问题。在创建maven项目时报出Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3,也就是在图1.1标注位置报红 图1.1 进入setting 图2.1 直接搜索Maven,点击Maven在右侧配置Maven相关属性,同时setting.xml文件需要先打开更改部分属

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包