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

使用ajc编译AspectJ类文件后,终端运行Java报错求助

解决AspectJ运行时NoClassDefFoundError问题

问题原因

运行程序时的类路径配置存在两个关键问题:

  • 未将当前目录加入类路径,导致JVM找不到编译生成的HelloWorld.class和HWTracer.class文件
  • 运行命令末尾多传了HWTracer参数,你的main方法无需接收该参数

org/aspectj/lang/NoAspectBoundException报错的核心原因是:虽然指定了aspectjrt.jar,但缺失当前目录的类文件,导致AspectJ切面无法绑定到目标类。

修正后的操作步骤

1. 编译代码(简化命令)

编译时无需指定aspectjtools.jar和aspectjweaver.jar,仅需aspectjrt.jar即可:

ajc HelloWorld.java HWTracer.aj -cp C:\aspectj1.9\lib\aspectjrt.jar

2. 运行程序(关键修正)

将当前目录(.)加入类路径,同时去掉多余的HWTracer参数:

java -cp .;C:\aspectj1.9\lib\aspectjrt.jar HelloWorld

预期输出

运行后会看到如下内容:

Before the Main
-- before the call --


    Hello, World!!


-- after the call --
After the Main

内容的提问来源于stack exchange,提问作者Dunkan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:25:35