我正在尝试从Java (而不是Maven或Ant!)运行ajc编译器。问题是我需要哪个Maven依赖项,哪个类是入口点?我现在最好的选择是org.aspectj:aspectjtools:1.7.2的org.aspectj.tools.ajc.Main。我说的对吗?
发布于 2013-04-05 23:21:52
是。在Java项目中,类路径上需要aspectjrt.jar (用于运行时)和aspectjtools.jar (用于编译器)。然后,您可以构建一个AspectJ项目并创建一个包含方面和类的JAR文件,如下所示:
import org.aspectj.tools.ajc.Main;
public class AjcRunner {
public static void main(String[] args) throws Exception {
String[] ajcArgs = {
"-sourceroots", "c:\\my\\aspectj_project\\src",
"-outjar", "my_aspects.jar"
};
Main.main(ajcArgs);
}
}然后,您可以像这样在控制台上测试结果,假设您有一个带有main方法的Application类:
java -cp C:\path\to\aspectjrt.jar;my_aspects.jar Applicationhttps://stackoverflow.com/questions/15772614
复制相似问题