Ik heb de volgende drie interfaces
C.foo() kan C teruggeven en dan nog steeds aan interface A en B voldoen, want C is een A en ook een B.
De ingebouwde compiler van Eclipse ziet dat en compileert dan ook netjes.
Als ik echter javac aanroep vanuit een Ant-buildfile krijg ik
Dit is de (verder niet bijzondere) javac-task:
Java:
1
2
3
4
5
6
7
8
9
10
11
| interface A { A foo(); } interface B { B foo(); } interface C extends A, B { C foo(); } |
C.foo() kan C teruggeven en dan nog steeds aan interface A en B voldoen, want C is een A en ook een B.
De ingebouwde compiler van Eclipse ziet dat en compileert dan ook netjes.
Als ik echter javac aanroep vanuit een Ant-buildfile krijg ik
Wat kan ik hier aan doen?types A and B are incompatible; both define foo(), but with unrelated return types
Dit is de (verder niet bijzondere) javac-task:
code:
1
2
3
4
5
6
7
8
| <javac
source="1.6"
target="1.6"
srcdir="${dirs.src}"
destdir="${dirs.bin}"
classpathref="classpath"
optimize="true"
/> |