AspectJ – 使用预编译方面编译Java源代码

假设我有几个方面,我已经编译过了,现在我只想编译单个源文件,但不需要重新编译方面,因为它需要花费很多时间。 有没有办法这样做?

例如,我有以下内容:

  • Trace.aj
  • Log.aj
  • Test.java

所有这些都是在我的“build-all”中编译的,现在我已经改变了Test.java并希望使用(已编译的)方面重新编译它。

使用加载时编织。

http://www.aspectprogrammer.org/blogs/adrian/2004/05/loadtime_weavin.html

以下是在eclipse中如何做到这一点: http : //www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html#enabling-load-time-weaving

在这种情况下,我不确定加载时间编织是否正确。 当您想要修改已编译的类的行为时,通常使用加载时编织。 在这种情况下,您正在编译测试类型。 如果方面相对稳定,您可以将它们分成另一个项目并将其构建到一个jar(比如trace.jar)中,然后您可以修改AJDT配置以将jar添加到方面库(来自内存,所以如果它是道歉的话)不准确,转到项目属性,选择aspectj编译器选项,选择aspect libraries / path选项卡并添加方面jar)。 这样做意味着jar中的方面将应用于每个构建的Test.java。