问题标签 [ajc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

java - 带有模块的 AspectJ (ajc)

我正在使用 AspectJ 1.9.7,并且正在尝试使用ajc. 假设我有一个名为的模块test和以下树:

使用javac我用来编译它的命令是:

一切都很好,当然没有编织过程。相反,如果我尝试使用ajc( ajc --module-source-path . -d ../bin -m test) 运行同一行,则输出为:

我想此时该-m选项不受支持。我发现了这个问题,用户说可以在编译过程中指定使用 javac-usejavac的选项,但至少对我而言,它不起作用,甚至无法识别该选项。

1)如何--module-source-path使用ajc


假设--module-source-path不支持,我选择了该--module-path选项。同样,使用javac,一切正常:

但是切换到ajc( ajc -d bin --module-path test $(find . -name *.java -o -name *.aj)),输出是这样的:

删除时相同的输出--module-path

2)有没有办法编译一个模块ajc

另一种方法是:

它可以工作,但必须有一种方法可以做到这一点ajc,鉴于此,--module-path并且--module-source-path记录在man的模块编译选项下。ajc我不确定这是否相关,但我正在使用openjdk 15.0.2 2021-01-19.