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

相关推荐
阿丰资源8 小时前
基于SpringBoot的物流信息管理系统设计与实现(附资料)
java·spring boot·后端
lhbian12 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
zhimingwen14 小时前
初探 Java 後端開發:解決 macOS 環境下 Spring Boot 項目啟動的各類「坑」
java·spring boot
Arya_aa14 小时前
检疫登记模块图片上传,nginx自动映射地址
spring boot·nginx
程序员老邢15 小时前
【技术底稿 15】SpringBoot 异步文件上传实战:多线程池隔离 + 失败重试 + 实时状态推送
java·经验分享·spring boot·后端·程序人生·spring
Arya_aa15 小时前
HTTP与Tmocat服务器与SpringMVC
java·spring boot
songcream115 小时前
Spring Boot资料整理
java·spring boot·后端
披着羊皮不是狼15 小时前
(8):实现双删(MySQL+Redis)
spring boot·后端
lhbian16 小时前
PHP vs Java vs Go:编程语言终极对比
java·spring boot·后端·kafka·linq
Tirzano18 小时前
SpringOAuth2Server 自定义授权码认证,登录和授权码混合
spring boot