使用自定义 class 加载器的 aspectj LTW 的任何指南

Any guideline for aspectj LTW using custom class loader

我想用 LTW 的 aspectj,不想用 agent

我做了一些搜索,发现很少,仅在下面的文章中提到了一些东西 https://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html,“自定义 class 加载程序 提供了一个 public 接口以允许用户编写 class 加载器实例化编织器并在加载后和在 JVM 中定义它们之前编织 classes。这使得加载时编织能够在没有编织代理可用的环境中得到支持。它还允许用户通过 class 加载程序明确限制可以编织哪些 classes。有关详细信息,请参阅 aj 以及 WeavingURLClassLoader 和 WeavingAdapter 的 API 文档和源代码。"

有这方面的指南吗?

如果不是绝对必要,我建议不要实现自定义类加载器。

更新版本的 AspectJ since 1.8.7 can dynamically start the load-time weaver if it is on the classpath, even if the JVM is not started as a Java Agent. (I know because I implemented this little feature myself.) Please read the description and be aware of the main caveat: It only works for classes loaded after your own code has attached the weaver, see 给被这个问题绊倒的人。