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也是同样适用的.

相关推荐
彭于晏Yan7 小时前
Spring AI(二):入门使用
java·spring boot·spring·ai
卓怡学长7 小时前
m280本科生导师指导平台
java·数据库·spring·tomcat·maven·intellij-idea
卓怡学长9 小时前
m277基于java web的计算机office课程平台设计与实现
java·spring·tomcat·maven·hibernate
谁在黄金彼岸9 小时前
Spring Boot + WebFlux 全面使用指南
spring boot
希望永不加班10 小时前
SpringBoot 主启动类解释:@SpringBootApplication 到底做了什么
java·spring boot·后端·spring
智能工业品检测-奇妙智能10 小时前
国产化系统的性价比对比
人工智能·spring boot·后端·openclaw·奇妙智能
SmartBrain12 小时前
Spring Boot的高性能技术栈的工程实践
spring boot·后端·架构
dreamxian12 小时前
苍穹外卖day09
java·spring boot·tomcat·log4j·maven
q54314708713 小时前
VScode 开发 Springboot 程序
java·spring boot·后端
学习要积极13 小时前
Springboot图片验证码-EasyCaptcha
java·spring boot·后端