这里可以使用一个取巧的方法来判断, 即通过使用上下文对象的getClassLoader().loadClass("要判断的jar包中的标志性类Reference地址"); 来加载某个jar包中的标志性类来判断pom.xml文件中是否加载了某个依赖, 如果加载成功表示pom中加载了某个jar 依赖, 如果不成功表示没有加载某个依赖, 如 判断pom.xml中是否加载了Tomcat依赖
conditionContext.getClassLoader().loadClass("org.apache.catalina.startup.Tomcat");
完整示例代码如下:文章来源:https://www.toymoban.com/news/detail-841415.html
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模板网!