Springboot如何判断pom.xml中是否加载了某个jar依赖

这里可以使用一个取巧的方法来判断, 即通过使用上下文对象的getClassLoader().loadClass("要判断的jar包中的标志性类Reference地址"); 来加载某个jar包中的标志性类来判断pom.xml文件中是否加载了某个依赖, 如果加载成功表示pom中加载了某个jar 依赖, 如果不成功表示没有加载某个依赖, 如 判断pom.xml中是否加载了Tomcat依赖

复制代码
conditionContext.getClassLoader().loadClass("org.apache.catalina.startup.Tomcat");

完整示例代码如下:

java 复制代码
package cn.tekin.condition;

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;

public class MyTomcatCondition implements Condition {
    @Override
    public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
        try {
            // 通过从上下文中 加载Tomcat的核心类来判断pom中是否添加了Tomcat依赖
            conditionContext.getClassLoader().loadClass("org.apache.catalina.startup.Tomcat");
            return true;
        } catch (ClassNotFoundException e) {
            return false;
        }


    }
}

这个方法对应gradle也是同样适用的.

相关推荐
aq553560026 分钟前
Spring Boot中的404错误:原因、影响及处理策略
java·spring boot·后端
zhougl99628 分钟前
maven 插件
java·maven
mengqudoh31 分钟前
vue springboot mybatis实现自定义条件检索功能
vue.js·spring boot·mybatis
BUG?不,是彩蛋!36 分钟前
AI智慧社区--从0到1开发柱状图数据接口
java·spring boot·后端·intellij-idea·mybatis
北京聚信万通科技有限公司44 分钟前
Odette OFTP2 Group1/2/3深度解读:PDX XML能力划分与选型指南
xml·edi·电子数据交换·as2·国产软件·oftp2
BUG?不,是彩蛋!1 小时前
从零到一掌握 K 线与技术指标:Java 实战教程 | MA, RSI, MACD 全解析
java·开发语言·spring boot·量化投资
计算机学姐1 小时前
基于SpringBoot的汽车美容保养系统
java·spring boot·后端·spring·tomcat·汽车·mybatis
爱吃山竹的大肚肚1 小时前
依赖冲突快速解决
java·spring boot·后端·spring cloud·maven
懒羊羊--搞点小技术1 小时前
EasyExcel自定义字段并且双表头导出实战
spring boot
yuyu_03042 小时前
Spring Boot在Windows开机自启动
windows·spring boot·后端