私は、次のインタフェースがあります。奇妙な消去
public interface Translator
{
public <T, F> T translate(F from, T to, Class<T> clazz);
}
と次の実装:
class TranslatorImpl implements Translator
{
@Override
public <T, F> T translate(F from, T to, Class<T> clazz)
{
//some code
}
}
しかし、次のようにTranslatorImpl
クラスのtranslate()
方法のために、Eclipseは文句:
名前クラッシュ:メソッドtranslate(F、T、Class)タイプ Tr anslatorImplはタイプ 翻訳翻訳(F、T、クラス)と同じ消去を持っていますが、それを
アップデート上書きしません:私はMavenのは、それが適切に構築する構築行うと を。私はJDK 1.6アップデート31を使用しています。EclipseのJDK準拠レベルは1.6
どのように私はこれを克服するのですか?
アップデート2:
準拠レベルの設定:JREインストール
:
アップデート3:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/dbmodel"/>
<classpathentry combineaccessrules="false" kind="src" path="/uimodel"/>
<classpathentry combineaccessrules="false" kind="src" path="/common"/>
<classpathentry kind="var" path="MAXIMUS_DEV_DIR/resources/dependencies/java/log4j/log4j-1.2.16/log4j-1.2.16.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
更新4:プロジェクト固有のコンパイラ私.classpath
ファイルの内容コンプライアンスレベルの設定:
私のために動作します。どのようなコンパイラを使用しますか? – Joni
2番目のパラメータとしてnullを指定する予定がない場合は、3番目のパラメータは必要ありません。 – EJP
問題を作り出しているのはEclipseです。私がMavenビルドを行うと、ビルドは適切に行われます。私はJDK 1.6アップデート31を使用します。EclipseのJDK準拠レベルは1.6 –