当方面是库组件时在 main 方法之前调用通知
Call advice before main method when the aspect is a library component
我一直在尝试在程序的主要方法之前调用一个通知。这是我的方面:
public final aspect MainProcessor {
pointcut mainMethod():
execution(public static void main(String[]));
before() : mainMethod(){
System.out.println(thisJoinPointStaticPart);
}
}
我试图获得的主要方法是在另一个项目中,它使用我的方面项目作为库。主要方法很简单:
public static void main(String[] args) {
System.out.println("Main here");
}
如果它与方面在同一个项目中,这将非常有用。但是,在这种情况下,它只会在控制台中打印出 "Main here"。我能做什么?
我刚刚解决了这个问题。因为我正在使用 Eclipse,而不是通过将库添加到 Java 构建路径来链接库(右键单击项目 -> 属性 -> Java 构建路径),我应该将它添加到AspectJ 构建(右键单击项目 -> 属性 -> AspectJ 构建)。
希望这对其他人有帮助。
我一直在尝试在程序的主要方法之前调用一个通知。这是我的方面:
public final aspect MainProcessor {
pointcut mainMethod():
execution(public static void main(String[]));
before() : mainMethod(){
System.out.println(thisJoinPointStaticPart);
}
}
我试图获得的主要方法是在另一个项目中,它使用我的方面项目作为库。主要方法很简单:
public static void main(String[] args) {
System.out.println("Main here");
}
如果它与方面在同一个项目中,这将非常有用。但是,在这种情况下,它只会在控制台中打印出 "Main here"。我能做什么?
我刚刚解决了这个问题。因为我正在使用 Eclipse,而不是通过将库添加到 Java 构建路径来链接库(右键单击项目 -> 属性 -> Java 构建路径),我应该将它添加到AspectJ 构建(右键单击项目 -> 属性 -> AspectJ 构建)。
希望这对其他人有帮助。