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

相关推荐
zb200641201 小时前
spring security 超详细使用教程(接入springboot、前后端分离)
java·spring boot·spring
The Sheep 20231 小时前
C# 操作XML
xml·前端·c#
Mr.45671 小时前
JDK17+Druid+SpringBoot3+ShardingSphere5 多表分库分表完整实践(MySQL+PostgreSQL)
java·数据库·spring boot·mysql·postgresql
tsyjjOvO1 小时前
Spring Boot 入门
java·spring boot·后端
StackNoOverflow1 小时前
Spring Boot 核心知识点总结
java·spring boot·后端
不吃香菜学java2 小时前
苍穹外卖-新增套餐
java·spring boot·spring·tomcat·maven·mybatis
wangchunting2 小时前
Spring Boot 概述
java·spring boot·后端
lierenvip2 小时前
Spring Boot 整合 log4j2 日志配置教程
spring boot·单元测试·log4j
sxhcwgcy2 小时前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
Thomas.Sir2 小时前
SpringBoot 接口全维度性能优化指南
spring boot·性能优化·状态模式