将 ClassPathScanningCandidateComponentProvider 与多个 jar 文件一起使用?

2024-03-04

我正在考虑使用 ClassPathScanningCandidateComponentProvider 在 JVM 中查找特定类的子类。

我正在做的事情几乎完全按照这里描述的进行:在运行时扫描Java注释 https://stackoverflow.com/questions/259140/scanning-java-annotations-at-runtime

然而,当我通过 JMX bean 从 ant 调用代码时,我遇到了一个严重的问题。

我使用搜索包调用:ClassPathScanningCandidateComponentProvider.findCandidateComponents:“com.mycompany”

但是,我的类路径中有多个 jar 文件,其中包含以该包开头的类。 Spring 在第一个扫描完成后停止扫描(我知道这一点,就好像我搜索 java.lang.Object 的子类一样,我在一个 jar 文件中得到了所有类)。

有没有办法告诉 ClassPathScanningCandidateComponentProvider/Spring 在第一个 jar 之后不要停止扫描?

Cheers


事实证明,我必须显式定义 ClassLoader,因为从 JMX 运行扫描时,它将在不同的加载器上查找类,但什么也找不到

//Add that at top of class
private static final ClassLoader classLoader = MyClass.class.getClassLoader();

...

ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( true);

provider.addIncludeFilter(new AssignableTypeFilter(forClass));

//Had to add this line
provider.setResourceLoader(new PathMatchingResourcePatternResolver(classLoader));

final Set<BeanDefinition> candidates = provider.findCandidateComponents(SEARCH_PACKAGE);

...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ClassPathScanningCandidateComponentProvider 与多个 jar 文件一起使用? 的相关文章

  • 使用 Ant 将非代码资源添加到 jar 文件

    我正在将 java 应用程序打包成 jar 文件 我正在使用 ant 和 eclipse 我实际上需要在 jar 中直接在根文件夹下包含几个单独的非代码文件 xml 和 txt 文件 而不是与代码位于同一位置 我正在尝试使用includes
  • GWT - 如何组织项目以拥有多个网页以及它们之间的导航

    我是 GET 的新手 顺便说一句 它给我留下了深刻的印象 并且发现它对于像我这样熟悉 C NET 桌面技术并愿意编写 Web 应用程序的人来说非常有吸引力 我根据 GWT Eclipse 向导生成的示例启动了自己的项目 该项目生成带有面板的
  • 通往楼梯顶部的可能路径

    这是一个非常经典的问题 我听说谷歌在他们的面试中使用过这个问题 问题 制定一个递归方法 打印从楼梯底部到楼梯顶部的所有可能的独特路径 有 n 个楼梯 您一次只能走 1 步或 2 步 示例输出 如果它是一个有 3 级楼梯的楼梯 1 1 1 2
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 是否可以通过编程方式查找 logback 日志文件?

    自动附加日志文件以支持电子邮件会很有用 我可以以编程方式设置路径 如以编程方式设置 Logback Appender 路径 https stackoverflow com questions 3803184 setting logback
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • 了解joda时间PeriodFormatter

    我以为我明白了 但显然我不明白 你能帮我通过这些单元测试吗 Test public void second assertEquals 00 00 01 OurDateTimeFormatter format 1000 Test public
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • Java中HashMap和ArrayList的区别?

    在爪哇 ArrayList and HashMap被用作集合 但我不明白我们应该在哪些情况下使用ArrayList以及使用时间HashMap 他们两者之间的主要区别是什么 您具体询问的是 ArrayList 和 HashMap 但我认为要完
  • org.apache.commons.net.io.CopyStreamException:复制时捕获 IOException

    我正在尝试使用以下方法中的代码将在我的服务器中创建的一些文件复制到 FTP 但奇怪的是我随机地低于错误 我无法弄清楚发生了什么 Exception org apache commons net io CopyStreamException
  • 在java中使用多个bufferedImage

    我正在 java 小程序中制作游戏 并且正在尝试优化我的代码以减少闪烁 我已经实现了双缓冲 因此我尝试使用另一个 BufferedImage 来存储不改变的游戏背景元素的图片 这是我的代码的相关部分 public class QuizApp

随机推荐

  • Azure DevOps - 无法运行已安装的 dotnet 工具

    我试着跑dotnet tool install在 Azure DevOps 中并测试该工具 Locally dotnet tool install dotnetsay g dotnetsay test 无缝工作 在 Azure DevOps
  • 在R中将多边形转换为sf

    使用此处的教程 https www r spatial org r 2018 10 25 ggplot2 sf 2 html https www r spatial org r 2018 10 25 ggplot2 sf 2 html 在名
  • 对文件的操作 |获取和放置指针

    我对操作文件有一些疑问 a 我对 C 中的 get 和 put 指针有点困惑 我是否显示获取指针和放置指针的正确位置 MyFile seekg 0 ios beg MyFile seekp 10 ios end index 0 1 2 3
  • Firebase:数据库引用“on”方法未运行回调(javascript)

    我正在调整对可能不存在的数据的查询 在这种情况下 回调不会运行 据我从文档中了解到 它应该运行并且 snapshot val 应该为 null 不是吗 这里有一个精简的示例 http surfmaps eu trombone case ht
  • 有效地将 {坐标+值} 集绘制到(numpy 数组)位图

    假设我有一组像素值 例如 gt S 42 6 2 0 1 0 0 这里第 42 个条目是像素位置 6 2 呈暗红色 如何高效绘图S进入一个新的 numpy 位图数组bitmap np zeros 1024 768 3 是否有一些矢量化解决方
  • Crypto-Js 与 mcrypt 的输出不同

    我有一个 js 脚本 它加密 Blade 数据 如果我加密它 它会返回输出 JS 脚本结果 uqnOrevjCc2YCvY3uKNjzA 现在 以此答案作为比较的基础 我编写了或者更确切地说 在 PHP 中搜索了与我的 JS 脚本类似的等效
  • 如何运行烧瓶应用程序?

    我想知道启动烧瓶应用程序的正确方法 该文档显示了两个不同的命令 flask a sample run and python3 4 sample py 产生相同的结果并正确运行应用程序 两者之间有什么区别 应该使用哪一个来运行 Flask 应
  • AWS EventBridge 使用自定义详细信息安排事件?

    我正在尝试构建一个架构 其中使用多个参数集按计划触发单个 Lambda 因此 例如 如果我有三组参数并将计划设置为十分钟 我希望每十分钟执行三次 有没有办法使用自定义属性触发 EventBridge 计划事件 以便我可以将参数传递给 Lam
  • 数据表中要删除的排序箭头

    需要帮助删除数据表标题行上的排序箭头 升序和降序 然后当用户单击标题列时 将出现升序箭头 当然数据将按升序排序 MyDataTable dataTable aoColumns bSortable false null
  • R通过R_LIBS设置库路径

    我已阅读 R 常见问题解答和其他帖子 但我有点困惑 并且很高兴知道我所做的一切是否正确 在Windows中 为了修改默认的库文件夹 我创建了一个文件Renviron site并放入里面E Programs R 3 3 0 etc 该文件只有
  • 如何在 VBA for Ms Access 中擦除或重新加载 InkPicture 笔画?

    我想显示之前在 Ms Access 中的 inkPicture 对象上保存的笔画 它位于通过 ActiveX 的表单上 笔划作为 ole 对象保存在表中的 笔划 字段中 现在 执行一次就足够简单了 一行代码 我可以毫无问题地使用此代码片段
  • 计算 pyspark 中的分组中位数

    使用 pyspark 时 我希望能够计算分组值与其中值之间的差异 这可能吗 这是我编写的一些代码 它可以执行我想要的操作 除了它计算平均值的分组差异之外 另外 如果您愿意提供帮助 请随时评论我如何做得更好 from pyspark impo
  • web.config 转换在构建服务器上不起作用

    我们正在与 Team City 建立持续集成 在签到的基础上进行构建 这工作正常 但是它总是使用默认的 web config 构建 它不会随着开发环境特定的 Web 配置进行转换 在 Visual Studio 中 我为开发创建了自定义构建
  • std::remove_if 和 std::isspace - 编译时错误

    我有以下代码 include
  • Python 属性描述符设计:为什么要复制而不是变异?

    我正在研究Python如何实现属性描述符 https docs python org 2 howto descriptor html properties内部 根据文档property 是根据描述符协议实现的 为了方便起见 在此处复制它 c
  • Qt - webkit - 如何以编程方式登录

    我正在制作一个网络爬虫 因为我需要以编程方式登录我的电子邮件帐户 谁能说一下如何实现这一目标 我认为 QNetworkAccesManager 和它的 get 可以做到这一点 但是 我不太清楚 请有人阐明这个问题 注意 我使用的是 Qt 4
  • 使用查询字符串参数消除 UriTemplate 匹配的歧义

    我正在使用 WCF 4 0 创建 REST ful Web 服务 我想做的是根据查询字符串参数调用不同的服务方法UriTemplate 例如 我有一个 API 允许用户使用驾驶执照或社会安全号码作为密钥来检索有关人员的信息 在我的Servi
  • 如何从用户计算机加载图像

    是否可以从用户计算机将图像加载到 XNA 游戏 例如 我想将 C Images Box png 加载到精灵纹理 是否可以 如果是 怎么办 在XNA 4 0中使用Texture2D FromStream http msdn microsoft
  • 使用 IIS 调试 ASP.NET

    我已经在 Visual Studio 2008 中将调试设置为 IIS 而不是内置服务器 这样我就可以在开发时运行 url 重写 使用 IIRF 花了一段时间才开始工作 更改权限 重新安装 NET 框架 但它正在工作 我关闭了机器 现在它重
  • 将 ClassPathScanningCandidateComponentProvider 与多个 jar 文件一起使用?

    我正在考虑使用 ClassPathScanningCandidateComponentProvider 在 JVM 中查找特定类的子类 我正在做的事情几乎完全按照这里描述的进行 在运行时扫描Java注释 https stackoverflo