Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] How to compile interfaces with default implementations

Hello Ramnivas

Thank you for clarifying this. It really works when using version 1.2
of the aspectj maven plugin.


Best regards,
James

2011/12/21 Ramnivas Laddad <ramnivas@xxxxxxxxxxxx>:
> Hi,
>
> This is a problem with aspectj-maven-plugin starting with version 1.3.
> Effectively, it doesn't compile aspects in .java sources. The fix for
> now is to update pom.xml in common-aspectj to explicitly set the
> version of the plugin to 1.2 and run 'mvn install' in common-aspectj
> before compiling the project in error.
>
>      <build>
>                <plugins>
>                        <plugin>
>                                <groupId>org.codehaus.mojo</groupId>
>                                <artifactId>aspectj-maven-plugin</artifactId>
> --->                           <version>1.2</version>
>                                <executions>
>        ...
>
> Hope this helps.
>
> -Ramnivas
>
> On Tue, Dec 20, 2011 at 1:09 PM, Ramnivas Laddad <ramnivas@xxxxxxxxxxxx> wrote:
>> Hi,
>>
>> I can reproduce the issue. It seems something changed in the way
>> maven3 interacts with the AspectJ plugin.
>>
>> I will look into this later today.
>>
>> -Ramnivas
>>
>> On Tue, Dec 20, 2011 at 7:45 AM, Jean-Pierre Bergamin
>> <jpbergamin@xxxxxxxxx> wrote:
>>> Hello everyone
>>>
>>> I'm reading AspectJ in Action (2nd edition) and downloaded the source
>>> code from http://www.manning.com/laddad2/AspectJInActionSecondEdition-sources-1.0.0.zip.
>>> I'm now trying to compile the project
>>> "ch05\workspace\Section5.1.5ExampleVersion2". It's about interfaces
>>> that have a default implementation like:
>>>
>>> public interface Nameable {
>>>        public void setName(String name);
>>>        public String getName();
>>>
>>>        static aspect Impl {
>>>        private String Nameable.name;
>>>                public void Nameable.setName(String name) {
>>>                        this.name = name;
>>>                }
>>>                public String Nameable.getName() {
>>>                        return this.name;
>>>                }
>>>        }
>>> }
>>>
>>> When compiling the project, I get compilation errors:
>>>
>>> 8<--------------------------------------------------------------------------------------------------------
>>>
>>> [INFO] Scanning for projects...
>>> [WARNING]
>>> [WARNING] Some problems were encountered while building the effective
>>> model for ajia:section5.1.5ExampleVersion2:jar:1.0-SNAPSHOT
>>> [WARNING] 'build.plugins.plugin.version' for
>>> org.codehaus.mojo:tomcat-maven-plugin is missing. @
>>> ajia:common-java:1.0-SNAPSHOT,
>>> C:\Users\james\.m2\repository\ajia\common-java\1.0-SNAPSHOT\common-java-1.0-SNAPSHOT.pom,
>>> line 371, column 12
>>> [WARNING] 'build.plugins.plugin.version' for
>>> org.apache.maven.plugins:maven-compiler-plugin is missing. @
>>> ajia:common-java:1.0-SNAPSHOT,
>>> C:\Users\james\.m2\repository\ajia\common-java\1.0-SNAPSHOT\common-java-1.0-SNAPSHOT.pom,
>>> line 327, column 12
>>> [WARNING] 'build.plugins.plugin.version' for
>>> org.codehaus.mojo:exec-maven-plugin is missing. @
>>> ajia:common-java:1.0-SNAPSHOT,
>>> C:\Users\james\.m2\repository\ajia\common-java\1.0-SNAPSHOT\common-java-1.0-SNAPSHOT.pom,
>>> line 356, column 12
>>> [WARNING] 'build.plugins.plugin.version' for
>>> org.codehaus.mojo:aspectj-maven-plugin is missing. @ line 16, column
>>> 12
>>> [WARNING]
>>> [WARNING] It is highly recommended to fix these problems because they
>>> threaten the stability of your build.
>>> [WARNING]
>>> [WARNING] For this reason, future Maven versions might no longer
>>> support building such malformed projects.
>>> [WARNING]
>>> [INFO]
>>> [INFO] ------------------------------------------------------------------------
>>> [INFO] Building section5.1.5ExampleVersion2 1.0-SNAPSHOT
>>> [INFO] ------------------------------------------------------------------------
>>> [INFO]
>>> [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources)
>>> @ section5.1.5ExampleVersion2 ---
>>> [WARNING] Using platform encoding (Cp1252 actually) to copy filtered
>>> resources, i.e. build is platform dependent!
>>> [INFO] skip non existing resourceDirectory
>>> D:\Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\resources
>>> [INFO]
>>> [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @
>>> section5.1.5ExampleVersion2 ---
>>> [WARNING] File encoding has not been set, using platform encoding
>>> Cp1252, i.e. build is platform dependent!
>>> [INFO] Compiling 3 source files to
>>> D:\Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\target\classes
>>> [INFO] -------------------------------------------------------------
>>> [ERROR] COMPILATION ERROR :
>>> [INFO] -------------------------------------------------------------
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[23,20]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[24,29]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[24,32]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[24,33]
>>> ';' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[26,26]
>>> '(' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[26,32]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[29,28]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[29,34]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[33,0]
>>> class, interface, or enum expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[23,20]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[24,24]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[24,29]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[24,30]
>>> ';' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[25,22]
>>> '(' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[25,30]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[28,24]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[28,32]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[32,0]
>>> class, interface, or enum expected
>>> [INFO] 18 errors
>>> [INFO] -------------------------------------------------------------
>>> [INFO] ------------------------------------------------------------------------
>>> [INFO] BUILD FAILURE
>>> [INFO] ------------------------------------------------------------------------
>>> [INFO] Total time: 1.660s
>>> [INFO] Finished at: Tue Dec 20 16:38:46 CET 2011
>>> [INFO] Final Memory: 6M/120M
>>> [INFO] ------------------------------------------------------------------------
>>> [WARNING] The requested profile "private" could not be activated
>>> because it does not exist.
>>> [ERROR] Failed to execute goal
>>> org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
>>> (default-compile) on project section5.1.5ExampleVersion2: Compilation
>>> failure: Compilation failure:
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[23,20]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[24,29]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[24,32]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[24,33]
>>> ';' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[26,26]
>>> '(' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[26,32]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[29,28]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[29,34]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Identifiable.java:[33,0]
>>> class, interface, or enum expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[23,20]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[24,24]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[24,29]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[24,30]
>>> ';' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[25,22]
>>> '(' expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[25,30]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[28,24]
>>> = expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[28,32]
>>> <identifier> expected
>>> [ERROR] \Downloads\AspectJInActionSecondEdition-sources-1.0.0\ch05\workspace\Section5.1.5ExampleVersion2\src\main\java\ajia\Nameable.java:[32,0]
>>> class, interface, or enum expected
>>> [ERROR] -> [Help 1]
>>> [ERROR]
>>> [ERROR] To see the full stack trace of the errors, re-run Maven with
>>> the -e switch.
>>> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
>>> [ERROR]
>>> [ERROR] For more information about the errors and possible solutions,
>>> please read the following articles:
>>> [ERROR] [Help 1]
>>> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
>>>
>>> 8<--------------------------------------------------------------------------------------------------------
>>>
>>> It seems as if the aspectj-maven-plugin is not executed, although it
>>> is configured in the parent project. I also tried to put the following
>>> plugin configuration in the project's pom itself, with the same
>>> result:
>>>
>>>        <build>
>>>                <plugins>
>>>                        <plugin>
>>>                                <groupId>org.codehaus.mojo</groupId>
>>>                                <artifactId>aspectj-maven-plugin</artifactId>
>>>                                <executions>
>>>                                        <execution>
>>>                                                <goals>
>>>                                                        <goal>compile</goal>
>>>                                                        <goal>test-compile</goal>
>>>                                                </goals>
>>>
>>>                                                <configuration>
>>>                                                        <source>1.5</source>
>>>                                                        <target>1.5</target>
>>>                                                </configuration>
>>>                                        </execution>
>>>                                </executions>
>>>                        </plugin>
>>>                </plugins>
>>>        </build>
>>>
>>>
>>> I'm using maven 3.0.3. Any ideas?
>>>
>>>
>>> Best regards,
>>> James
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top