有没有一种方法可以在不向JVM传递java代理参数的情况下在AspectJ中启用加载时编织?

有没有一种方法可以在不向JVM传递java代理参数的情况下在AspectJ中启用加载时编织?,java,spring,aspectj,spring-aop,load-time-weaving,Java,Spring,Aspectj,Spring Aop,Load Time Weaving,我要求在spring应用程序中使用AspectJ中的加载时编织,从我在不同来源中看到的是,必须将javaagent参数传递给JVM,以启用加载时编织 i、 e 我想知道在Spring应用程序中是否有其他方法来初始化它 另外,我正在使用Gradle构建项目在@Configuration注释类上使用以下内容 @EnableLoadTimeWeaving(aspectjWeaving=ENABLED) 我想不会。在加载任何应用程序类之前,您需要代理来实际促进编织,因为它们必须重写。我认为@Enabl

我要求在spring应用程序中使用AspectJ中的加载时编织,从我在不同来源中看到的是,必须将javaagent参数传递给JVM,以启用加载时编织

i、 e

我想知道在Spring应用程序中是否有其他方法来初始化它


另外,我正在使用Gradle构建项目

在@Configuration注释类上使用以下内容

@EnableLoadTimeWeaving(aspectjWeaving=ENABLED)

我想不会。在加载任何应用程序类之前,您需要代理来实际促进编织,因为它们必须重写。我认为@EnableLoadtimeWeaving配置只是告诉CGLIB不要为带注释的代码创建代理类,因为不再需要它了。但我不是100%确定最后一部分tbh;当代理在类路径扫描中发现代码时,它还可以告诉代理实际编织代码


别忘了在META-INF目录中配置aop.xml

您能解释一下添加这些命令行参数的问题吗?必须始终指定特定于项目的参数,例如类路径(尽管您可能没有注意到,因为Gradle、Maven或您的IDE为您做了这件事,但某些系统属性可以启用特定选项等等。只需正确配置构建工具,它就会自动为您做这件事。这需要更改我们在生产环境中运行的所有应用程序中的部署脚本。我将首先解释我的问题陈述,我需要创建一个胖JAR来完成某些任务,这还需要在对象(不是由Spring管理的)出现时调用某些方面调用。如果其他应用程序使用此JAR,他们首先需要更改部署脚本,这将增加集成过程。因此,使用JAR更改所有应用程序的配置是可以接受的,而不是更改部署脚本。我理解正确吗?恐怕这无法启用e加载时编织,我已经尝试过了,但到目前为止还没有调用方面
@EnableLoadTimeWeaving(aspectjWeaving=ENABLED)