You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot配置AspectJ加载时织入(LTW)后出现nonReweavableTypeEncountered警告的问题求助

Spring Boot配置AspectJ加载时织入(LTW)后出现nonReweavableTypeEncountered警告的问题求助

我在Spring Boot应用里配置了AspectJ加载时织入(LTW),功能本身都能正常工作,但日志里总是定期弹出下面这个错误:

[LaunchedClassLoader@4bb4de6a] error at com/xyz/tool/service/MyClass.java::0 class com.xyz.MyClass is already woven and has not been built in reweavable mode [Xlint:nonReweavableTypeEncountered]

这让我特别困惑——我完全搞不懂为什么会触发重复织入,按道理一个类应该只被织入一次才对。有没有大佬能给点排查思路?


更新:最小复现示例

我整理了一个能复现问题的最小示例,先贴出切面类的代码:

@Aspect
public class ExecTimeMonitor {
    @Around("execution(* com.xyz.tool.controller.MainController.performOperation(..))")
    public Object wrapMainMethod(ProceedingJoinPoint joinPoint) throws Throwable {
        // ... 省略其他逻辑
        long start = getNow();
        ResponseEntity<OperationResultDto> resEntity = (ResponseEntity<OperationResultDto>) joinPoint.proceed();
        long execTime = getNow() - start;
        // ... 省略其他逻辑
        return resEntity;
    }

    @Around("execution(static * com.xyz.swig.Kernel.*(..)) || execution(public * com.xyz.tool.service.*.*(..)) ")
    public Object wrapInnerMethod(ProceedingJoinPoint joinPoint) throws Throwable {
        // ... 省略其他逻辑
        long start = getNow();
        Object result = joinPoint.proceed();
        long execTime = getNow() - start;
        // ... 省略其他逻辑
        return result;
    }
}

然后是aop.xml的配置:

<aspectj>
    <weaver>
        <include within="com.xyz..*"/>
    </weaver>
    <aspects>
        <aspect name="com.xyz.tool.profiling.ExecTimeMonitor"/>
    </aspects>
</aspectj>

LTW的启用是通过下面的Spring配置类实现的:

@EnableAspectJAutoProxy
@EnableLoadTimeWeaving
@Configuration
public class AopConfig {
}

我的JVM启动参数是按照@kriegaex的建议配置的两个agent:

java -javaagent:aspectjweaver-1.9.24.jar -javaagent:spring-instrument-6.1.21.jar -jar app.jar

确实,这是目前唯一能让我的Spring应用里切面正常生效的配置方式。


内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 12:48:07