Fork me on GitHub

AspectJ Compiler reference: non-standard options

Mojo's AspectJ Maven Plugin delegates the majority of its arguments to the AspectJ Compiler ("ajc"), which is part of the AspectJ binary distribution. For convenience, the help text and option reference of the AJC's nonstandard options is reproduced below verbatim. Relevant options found in the listing below are mirrored in the options of its goals, as defined in the Plugin Documentation page.

AspectJ Compiler 1.8.2 non-standard options:

        -XnoInline          dont inline advice
        -XlazyTjp           create thisJoinPoint objects lazily
        -Xreweavable        create class files that can be subsequently rewoven
                            by AspectJ. Deprecated, this is now on by default.
        -Xreweavable:compress deprecated, reweavable is now default.
        -XnotReweavable     create class files that cant be subsequently rewoven
                            by AspectJ.
        -XserializableAspects allows aspects to implement serializable
        -XterminateAfterCompilation compile classes then terminate before weaving
        -XaddSerialVersionUID calculates and adds the serialVersionUID to any
                            serializable type woven by an aspect
        -Xajruntimetarget:<level> allows code to be generated that targets
                            a 1.2 or a 1.5 level AspectJ runtime (default 1.5)
        -XhasMember         allow hasmethod() and hasfield type patterns in
                            declare parents and declare @type
        -Xjoinpoints:       supply a comma separated list of new joinpoints
                            that can be identified by pointcuts.  Values are:
                            arrayconstruction, synchronization