byte-buddy - 是否可以忽略基于包文件夹检测的类?
问题描述
我们目前已经ByteBuddy
将一些代码注入到特定包的每个方法中,例如com.contoso.widgets
. 这很好用!
但是,我们在同一个包的tst
文件夹中也有测试,我们不希望对其进行ByteBuddy
检测(但我们确实希望对同一包中的被测实体进行检测!)。
有没有办法定义AgentBuilder
它忽略所有来自的类tst
,而不是src
?感觉好像我可能遗漏了一些明显的东西,但在梳理完文档后并没有成功。
解决方案
Byte Buddy 支持提供任何类型的 ProtectionDomain 的 RawMatcher。保护域提供对类型的 CodeSource 的访问,您可以从中找到其类文件的文件系统位置。
但是请注意,此值取决于类加载器、操作系统、打包格式和部署。它可能适用于标准化测试环境,但如果您从中派生,可能会让您失败。因此,建议依靠更有条理的东西。
推荐阅读
- oracle - 关于索引压缩
- wordpress - 在 IIS 7.5 上安装 WordPress - 内部服务器错误
- apache-spark - 在 PySpark 数据帧中的选定时间间隔内复制日期间隔之间的记录
- python-3.x - 如何在 \n\t 行中查找并用 \t 替换它们?(Python)
- c++ - 使用从源代码构建的 clang-11 编译 hello world 失败
- openshift - 如何在 Cloudflare Proxy 后面使用 Openshift?
- class - 如何覆盖 cakephp4 中 src 文件夹中的供应商插件类文件
- flutter - Flutter:'package:flutter/src/cupertino/route.dart':断言失败:第 660 行 pos 12:'_backGestureController != null':不正确
- javascript - 基于循环的扩展算法
- java - 解决 spark core 和 azure key vault 依赖项之间的番石榴冲突