Bloqué dans AspectJ avec Eclipse
Bonjour,
Je suis en train de m'initier à AspectJ, j'ai Eclipse 3.7.1 avec AspectJ 2.1.3.
J'ai donc un projet Java appelé "testaspect", qui ne contient qu'une classe :
Code:
1 2 3 4 5 6 7 8
| public class Test {
void outtest(){
System.out.println("java");
}
public static void main(String[] args) {
new Test().outtest();
}
} |
Et un projet Aspect, appelé "aspecthello" qui contient un seul aspect :
Code:
1 2 3 4 5 6 7
| public aspect aspecttest {
pointcut testout() :
call (void Test.outtest());
before() : testout() {
System.out.println("aspect");
}
} |
Le projet Aspect est renseigné dans l' "AspectJ build path" du projet Java, j'ai essayé avec le projet Java renseigné ou non dans le "Inpath" du projet Aspect. Je n'ai aucune erreur ni warning dans l'IDE.
Mais quand je lance le projet java, j'ai une fenêtre "Errors exist in required project(s)", "aspecthello, testaspect" ; si je fais "proceed", j'ai un message d'erreur :
Code:
1 2 3 4 5 6 7 8 9
| java.lang.NoClassDefFoundError: Test
Caused by: java.lang.ClassNotFoundException: Test
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" |
J'ai essayé un tas de petites variantes, (avec ou sans "*", avec ou sans "target", avec call ou execute, etc), les résultats sont imperturbablement les mêmes, au point que j'en suis arrivé à me demander si la compilation incrémentale s'effectue. Mais ça fait pareil quand je fais un rebuild du workspace.
Il semble que je devrais aussi avoir des marqueurs dans la marge, mais je n'ai rien. Donc apparemment quelque chose m'a échappé, probablement dans la configuration de l'un ou l'autre projet ?
[ajout]
J'ai une erreur dans la fenêtre "Problems", qui reste même quand j'enlève le projet Java de l'Inpath du projet Aspect ... :koi:
Code:
A cycle was detected in the build path of project 'aspect'. The cycle consists of projects {aspect, testaspect}
[/ajout]
Merci.