コードをコンパイルするのにいくつか問題があります。
$ mvn clean compile
この種のエラーのように通知してください。
[58,30] type parameters of <D,K>D cannot be determined; no unique maximal instance exists for type variable D with upper bounds DS,
たぶん、この問題は によって引き起こされrecursive bounds of generic types
ます。右?
参考文献: Generics は Eclipse でコンパイルおよび実行されますが、javac ではコンパイルされません。
どうすればこれを修正できますか?
@SuppressWarnings("unchecked")
public static <D extends DataStore<K, T>, K, T extends Persistent> D createDataStore(Class<T> persistent, Properties properties) throws IOException {
try {
return (D) (new HBaseStore<K, T>());
} catch (Exception e) {
throw new RuntimeException("cannot initialize a datastore", e);
}
}
public static <DS extends DataStore<U, P>, U, P extends Persistent> DS createDataStore(Class<P> persistent) throws IOException {
return createDataStore(persistent, null); // ERROR
}