Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.6, 2.7
-
None
Description
When AJDT support is enabled, the plugin ignores any dependencies that include the term "aspectj" in the artifactId: these include aspectjrt.jar, aspectjweaver.jar and aspectjtools.jar. Instead the project gets created with a link to the AspectJ Runtime Library "Folder" which just contains aspectjrt.jar. However, if the project depends on the other AspectJ artifacts, e.g. aspectjweaver.jar (because it uses load-time-weaving) it is broken and no amount of POM tweaking will get it back in there.
Using the <ajdtVersion>none</ajdtVersion> is fine if the project doesn't include any aspects - but if it does it needs AJDT to compile the aspect - but also needs the other AspectJ artifacts (that were specified in the POM) to run Unit Tests etc.
At a minimum the plugin should be modified to only replace aspectjrt. However, I am generally uncomfortable with the whole replacement concept. As long as projects specify the appropriate dependencies then AJDT will be able to compile and run the project (i.e. the special "AspectJ Runtime Library" folder is not required). This will also ensure that a consistent version of AspectJ is used (the version provided by Eclipse need not be the same as specified in the POM).
Attachments
Issue Links
- is duplicated by
-
MECLIPSE-568 Some compile dependencies are not added to .classpath since 2.6
- Closed
- is superceded by
-
MECLIPSE-594 set AJDT version parameter to none by default
- Closed
- relates to
-
MECLIPSE-544 aspectj libraries do not get included anymore with 2.6
- Closed