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

这篇具有很好参考价值的文章主要介绍了Springboot如何判断pom.xml中是否加载了某个jar依赖。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

conditionContext.getClassLoader().loadClass("org.apache.catalina.startup.Tomcat");

完整示例代码如下:

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也是同样适用的.文章来源地址https://www.toymoban.com/news/detail-841415.html

到了这里,关于Springboot如何判断pom.xml中是否加载了某个jar依赖的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql数据库存数组类型数据,如何判断数组中是否包含某个值?使用mybatisplus查询。

    跟mybatisplus中.in()方法相反的函数 mybatisplus的in函数:查询的是数据库的某个属性的值是否在给定的集合中。这里我们讲的是一个值是否在数据库的某个属性数组中。 说明: 这是一张学生信息表,其中包含了学生曾经就读过的学校。现在我们要做的就是查询哪些学生就读过指

    2024年02月16日
    浏览(48)
  • 如何判断某列某个单元格是否包含特殊字符(如空格、数字、下划线等等),并返回特殊字符

    VBA代码已写好,直接粘贴到VBA编辑器并保存,即可使用。也可以下载我写好的保存了宏代码的excel文件,直接调用即可。我的excel文件中也包含了很多重度办公人士经常需要用到的其他函数,目前的函数较少,后续会不断更新新的宏函数进去,并会在我的博客中进行功能介绍使

    2024年02月13日
    浏览(39)
  • Cypress 做 e2e 测试,如何在获得某个 checkbox 后先判断它是否被 check 然后再更改它的状态?

    比如如果这个 checkbox 已经被 check 了,就不做操作,否则将它 check。 我们假设这个 checkbox 的 data-testid 属性是 VendorCodeCheckbox-0-test-id 。Cypress 的代码如下: 注意,对于不同的前端框架,寻找组件的逻辑可能不同。

    2024年02月11日
    浏览(29)
  • JS判断对象、数组是否包含某个属性、某个值

    可以使用以下几种方法来判断对象是否包含某个属性: 1. in 操作符: 使用 in 操作符可以检查对象是否包含指定的属性。它会检查对象及其原型链上的所有属性。 2. hasOwnProperty() 方法: hasOwnProperty() 是对象的内置方法,用于检查对象自身是否具有指定的属性(不包括原型链上

    2024年02月09日
    浏览(42)
  • unity判断是否点击到某个按钮

          1、 适应场景:当点击到界面其他地方,这个按钮不再突出显示,怎么解决? private void Update()     {         if (Input.GetMouseButtonDown(0))         {             if (EventSystem.current.currentSelectedGameObject == null || EventSystem.current.currentSelectedGameObject.name != \\\"ButtonName\\\")          

    2024年02月11日
    浏览(32)
  • JS中判断某个字符串、数组等是否包含某个值

    方法一: indexOf()   (推荐)   indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。 方法二:match()   match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 方法三: search()   search() 方法

    2024年02月03日
    浏览(61)
  • Idea执行Pom.xml导入jar包提示sun.misc.BASE64Encoder jar找不到---SpringCloud工作笔记197

     奇怪之前都是好好的,这个是因为,jdk的版本不对,重新打开以后自动被选择成jdk11了...记录一下 原因是从jdk9的时候,这个jar包已经被删除了,所以会报错,如果你用的是jdk自带的这个jar包就会报错,那么还可以,修改,不让他用jdk的,让他用  用org.apache.commons.codec.binary.Base64中的这样也

    2024年02月07日
    浏览(23)
  • js判断对象是否拥有某个key

    方法一 : \\\"key\\\" in obj ,结果为 false,表示不包含;否则表示包含 方法二 : obj.hasOwnProperty(\\\"key\\\") ,obj 表示对象,结果为 false 表示不包含;否则表示包含 这两种方法都可以用于检查对象是否包含指定的属性,但它们有一些区别。 “key” in obj: 这种方法使用 in 运算符来检查属

    2024年02月08日
    浏览(43)
  • Unity判断物体是否被某个相机可见

    第一种方式: 将物体的世界坐标转换为视口坐标(Viewport Coordinates),得到的坐标值会在[0,1]的范围内,表示物体在相机视口中的位置。如果物体的位置在这个范围内,就说明它被相机看到了。 第二种方式: 判断物体是否完全在相机的视锥体内,可以使用相机的GeometryUtilit

    2024年02月05日
    浏览(38)
  • C++(11):判断tuple是否含有某个类型

    有的时候需要判断tuple中是否有个某个类型,可以借助变长模板的递归调用方式进行检查: C++(11):变长模板_变长模板参数 c++11-CSDN博客 另外还使用了true_type和false_type:

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包