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

相关推荐
itLaity31 分钟前
基于Kafka实现简单的延时队列
spring boot·分布式·kafka
midsummer_woo1 小时前
基于spring boot的医院挂号就诊系统(源码+论文)
java·spring boot·后端
阿华的代码王国3 小时前
【Android】相对布局应用-登录界面
android·xml·java
工藤新一OL4 小时前
把xml的格式从utf-8-bom转为utf-8
xml·c#·asp.net·.netcore·visual studio
fouryears_234176 小时前
什么是JSON,如何与Java对象转化
java·spring boot·spring·json
henysugar7 小时前
便捷删除Android开发中XML中重复字符串资源的一个办法
android·xml
程序员编程指南7 小时前
Qt XML 与 JSON 数据处理方法
xml·c语言·c++·qt·json
wuk9988 小时前
互联网应用主流框架整合 Spring Boot开发
java·spring boot·后端
风象南8 小时前
SpringBoot实现Serverless:手撸一个本地函数计算引擎
spring boot·serverless
Code季风10 小时前
Spring AOP 与事务管理进阶:传播行为原理与实战指南
java·spring boot·spring