1.业务场景

有些时候,我需要知道某个jar包依赖了哪些包,这个时候可以通过maven 依赖插件将依赖的包copy出来。

2.具体做法

我们可以创建一个空的项目,增加 pom.xml 文件,增加我们需要的依赖包。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.redxun</groupId>
<artifactId>jpaas-cloud</artifactId>
<version>6.8.5-SNAPSHOT</version>
</parent> <groupId>com.study</groupId>
<artifactId>ActivitiDep</artifactId> <properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>7.1.0.2.M7</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-image-generator</artifactId>
<version>7.1.0.2.M7</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.1.0.2.M7</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<!-- 复制依赖 -->
<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>
</plugins>
</build>
</project>

添加这个后,我们执行 maven 的 package打包命令,maven就会将我们需要的JARcopy到指定的目录下面。

3.输出依赖树

有些时候,我需要输出依赖的结构,那么可以使用下面的命令进行输出

mvn  dependency:tree > dep.txt

输出的内容如下:

[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ ActivitiDep ---
[INFO] com.study:ActivitiDep:jar:6.8.5-SNAPSHOT
[INFO] +- org.activiti:activiti-engine:jar:7.1.0.2.M7:compile
[INFO] | +- org.activiti.api:activiti-api-runtime-shared:jar:7.1.0.2.M7:compile
[INFO] | +- org.activiti.core.common:activiti-project-model:jar:7.1.0.2.M7:compile
[INFO] | +- org.activiti:activiti-bpmn-converter:jar:7.1.0.2.M7:compile
[INFO] | +- org.activiti:activiti-bpmn-model:jar:7.1.0.2.M7:compile
[INFO] | +- org.activiti:activiti-process-validation:jar:7.1.0.2.M7:compile
[INFO] | +- org.apache.commons:commons-email:jar:1.5:compile
[INFO] | | \- com.sun.mail:javax.mail:jar:1.5.6:compile
[INFO] | | \- javax.activation:activation:jar:1.1:compile
[INFO] | +- org.mybatis:mybatis:jar:3.5.1:compile
[INFO] | +- org.springframework:spring-beans:jar:5.2.15.RELEASE:compile
[INFO] | +- org.springframework:spring-core:jar:5.2.15.RELEASE:compile
[INFO] | | \- org.springframework:spring-jcl:jar:5.2.15.RELEASE:compile
[INFO] | +- de.odysseus.juel:juel-api:jar:2.2.7:compile
[INFO] | +- de.odysseus.juel:juel-impl:jar:2.2.7:compile
[INFO] | +- de.odysseus.juel:juel-spi:jar:2.2.7:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.11.4:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.4:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.11.4:compile
[INFO] | +- joda-time:joda-time:jar:2.10.5:compile

使用maven 找到依赖的JAR包的更多相关文章

  1. maven将依赖打入jar包

    将 依赖打入jar包,由于maven管理了所有的依赖,所以将项目的代码和依赖打成一个包对它来说是顺理成章的功能.maven的这个功能之前就用过,但这 次使用时忘了细节,只记得用maven的assemb ...

  2. 导出maven项目依赖的jar包

    注意使用mvn命令是需要配置好maven的环境变量 一.导出到自定义目录中 在maven项目下创建lib文件夹,输入以下命令: mvn dependency:copy-dependencies -Do ...

  3. web项目部署后动态编译无法找到依赖的jar包

    很纳闷的一个问题,通过配置文件生成的java源码在本地动态编译没有问题,但是部署服务器后编译不通过,找不到依赖的jar包. 通过网上查资料,找到一个兄弟提供的方法,问题解决了:下面贴出代码以供参考: ...

  4. Maven入门-依赖管理(Jar包管理)(二)

    1       依赖管理(Jar包管理) 1.添加依赖  

  5. maven项目依赖其他jar包的时候,idea运行没问题,java -jar 报错:java.lang.SecurityException: Invalid signature file digest

    当项目依赖其他jar包的时候,打出的jar包执行出错,抛出这个异常. 原因:因为依赖jar包中的META-INF中有多余的.SF文件与当前jar包冲突, 解决方案 一 在打包前删除依赖jar包的.SF ...

  6. maven将依赖打入jar包中

    1.在pom.xml中加入maven-assembly-plugin插件: <build> <plugins> <plugin> <artifactId> ...

  7. maven将依赖的jar包复制到指定位置

    <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

  8. maven将依赖打入jar包并制定main方法

    <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId& ...

  9. maven 将依赖的jar包打入jar包中

    pom中加入以下代码,利用mvn assembly:assembly就可以了. <build> <plugins> <plugin> <artifactId& ...

  10. 拷贝Maven工程依赖的jar包出来

    参考:https://blog.csdn.net/fengsheng5210/article/details/80491731

随机推荐

  1. echarts的x轴显示不全的解决办法

    echarts的x轴显示不全的解决办法 一.背景 当x轴类目较多时,label显示时会自动间隔显示,也就是会隐藏掉中间的label,如下图: 二.解决办法 通过设置 xAxis.axisLabel.i ...

  2. 使用 `Roslyn` 分析器和修复器 对异步方法规范化返回Async结尾

    之前写过一篇使用修复器帮助添加头部注释文本的功能,今天使用Roslyn的代码修复器对异步返回方法规范化的功能 实现分析器 首先需要实现分析器,使用RegisterSyntaxNodeAction,分析 ...

  3. JavaScript – Async Iterator & Generator

    前言 要看懂这篇请先看下面几篇 JavaScript – Iterator JavaScript – Generator Function JavaScript – Promise JavaScrip ...

  4. 消毒 url 和 html (url encode and sanitizer html )

    更新: 2020-06-24 FromRoute vs FromQuery decode FromRoute 是不会 auto decode 的, query string 就会 这个是微软默认的设置 ...

  5. 单片机-XIP-外部闪存就地执行代码

    声明:此博文所述我未实践,目的是知识整理. 1.  常说的 "单片机的norflash上可以执行代码 " 这句话该如何理解? CPU做取指.译码.执行. 常说的哪些介质可以执行程序 ...

  6. [C++] Rander

    注 这个Rander对单个数据的平均分散不太优秀,但是获取大量数据十分平均 当前版本 2.0 for Windows 功能 int rander::reset() 按默认大小重置随机数序列,返回默认大 ...

  7. T2回家(home)题解

    T2回家(home) 现在啥也不是了,虽然会了逆元,但是对期望概率题还是一窍不通,赛时相当于只推出了 \(n=1\) 的情况,结果运用到所有情况,理所应当只有20分. 题目描述 小Z是个路痴.有一天小 ...

  8. SXYZ-7.4训练赛

    今天这场比赛把人心态考崩溃了,只考100分钟,四道思考和算法题,旁边大佬开局5分钟秒T1,我30分钟打了个T1暴力.┭┮﹏┭┮,呜呜~.T2,T4根据题意暴力.T3人手模拟了一下,完全没有任何思路,放 ...

  9. 安卓Android虚拟机分享及使用

    不知道大家伙在安装安卓虚拟机时被各式各样的问题折磨过没,我在安装安卓虚拟机时,遇到的问题简直就像长江之水源源不断,就算是最后安装好了也会因为各式各样的原因无法进入启动桌面. 当我发现这个可以直接导入到 ...

  10. C#的排序方法 OrderBy

    using System;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.R ...