前言
最近啊,闲来无事,想着看看现在做的项目都有用到哪些技术?
翻来翻去,我觉着应该从 pom.xml 入手!
乍一看,整个项目 70+ 个 pom.xml,我嘞个天呐,一个一个看的话,这要看到什么时候?
于是乎,动了动脑瓜子,想着要不写个程序直接整出来看?
介绍
hutool:Hutool是一个Java工具包,提供了丰富的功能和便捷的API,用于简化Java开发。其主要包括:数据类型转换、日期处理、文件操作、加密解密、编码解码、网络请求等模块,能够极大地提高开发效率和代码质量。
maven-model:maven-model是Maven的核心API之一,用于定义和处理Maven项目对象模型(POM)。它提供了访问和操作POM的API,包括依赖关系、构建生命周期、插件等。
easyexcel:EasyExcel是一款基于Java的简单、高效、处理大量数据的 Excel 读写库,支持复杂的 Excel 数据处理和存储。它采用了全新的注解解析模式,能够快速实现对 Excel 数据的读取和写入,并且提供了丰富的API和示例代码,方便开发者进行二次开发。同时,EasyExcel还支持大数据量的批量导入导出,能够有效地提高数据处理效率。
依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.25</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.3</version>
</dependency>
代码
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.json.JSONUtil;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import java.io.File;
import java.io.FileInputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Test {
// 使用 Map 和 Set 便于去重
static Map<String, Set<String>> dependencyMap = new HashMap<>();
public static void main(String[] args) {
// 创建 Maven POM 文件读取器,用于解析 POM 文件
MavenXpp3Reader reader = new MavenXpp3Reader();
// 获取当前目录及子目录中名称为 pom.xml 的所有文件
List<File> files = FileUtil.loopFiles("E:\\IdeaProjects\\RuoYi-Cloud", file -> "pom.xml".equals(file.getName