关于使用自定义类加载器的Aspectj LTW的任何准则

问题描述 投票:0回答:1

我想将aspectj与LTW一起使用,并且我不想使用代理

我进行了一些搜索,但发现很少,仅在下面的文章中提到了https://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html,“自定义类加载器提供了一个公共接口,以允许用户编写的类装入器在装入后并在JVM中定义它们之前实例化编织器并编织类。这样可以在没有编织代理的环境中支持加载时编织。它还允许用户通过类加载器显式限制可以编织的类。有关更多信息,请参见aj以及WeavingURLClassLoader和WeavingAdapter的API文档和源。“

是否有任何指导方针?

java aspectj
1个回答
0
投票

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

较新版本的AspectJ since 1.8.7可以动态地启动加载时编织程序,即使它位于类路径上,即使JVM不是作为Java代理启动也是如此。 (我知道,因为我自己实现了这个小功能。)请阅读说明并了解主要警告:它仅适用于在您自己的代码已附加编织器的情况下加载的类,请参见my answer here跳了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.