Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Ambiguous methods with Java 8 (but not Java 7)

We are using AspectJ 1.8.4 (and we also tried this with the latest
snapshot) from Ant with the iajc task. We have a code base which is
currently Java 7 and when we compile it using JDK 8 as Java 7 source
and target code e.g. source="1.7" and target="1.7" then everything
works fine.

However, we would like to migrate to Java 8, and when we switch the
IAJC Ant task to source="1.8" and target="1.8", then we receive quite
a few compilation errors (see below), however if we compile with JDK 8
and don't use AspectJ then it all compiles fine. Are there any known
problems with AspectJ iajc and Java 8 code?


compile-aspectj:

     [echo] Compiling aspects with Java 1.8 from 1.8 source to 1.8
target, debug on, optimize on, deprecation off

     [iajc] [warning] incorrect classpath:
/Users/aretter/NetBeansProjects/exist-git/exist.jar

     [iajc] incorrect classpath:
/Users/aretter/NetBeansProjects/exist-git/exist-optional.jar

     [iajc] incorrect classpath:
/Users/aretter/NetBeansProjects/exist-git/start.jar

     [iajc]

     [iajc] /Users/aretter/NetBeansProjects/exist-git/src/org/exist/dom/persistent/DocumentImpl.java:652
[error] The method getNodeId() is ambiguous for the type IStoredNode

     [iajc] newNode.setNodeId(oldNode.getNodeId());


The Ant script that calls iajc is here:
https://github.com/adamretter/exist/blob/j8/build/scripts/build-impl.xml#L212
The code for DocumentImpl is here:
https://github.com/adamretter/exist/blob/j8/src/org/exist/dom/persistent/DocumentImpl.java
https://github.com/adamretter/exist/blob/j8/src/org/exist/dom/persistent/DocumentImpl.java#L661


Can someone help me understand why the AspectJ compiler fails when
switched to Java 8 source level without us making any changes to the
code itself?

Thanks Adam.


-- 
Adam Retter

skype: adam.retter
tweet: adamretter
http://www.adamretter.org.uk


Back to the top