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" /> |