Обновление: похоже, что это связано с Eclipse, а не с Гудзоном, поэтому я соответствующим образом обновил вопрос.
При запуске Maven по команде я получаю некоторые ошибки компиляторалиния, но у всех разработчиков в нашей группе есть код, работающий нормально в Eclipse (некоторые общие сложности, подробности см. ниже).Как это может отличаться и что с этим делать?
Неудачный код выглядит следующим образом:
299 private <T extends ProductClassDTO> List<T> convertProductClass(List<? extends ProductClassDTO> fromList) {
300 List<T> toList = new ArrayList<T>();
301 for (ProductClassDTO from : fromList) {
302 T to = convert(from);
303 toList.add(to);
304 }
305 return toList;
306 }
Это ошибка на сервере сборки:
[ERROR] ...java:[302,26] type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,com.volvo.protom.util.dto.ProductClassDTO
(Я знаю, что в SO есть другие вопросы + ответы на этот вопрос, но они, похоже, не относятся к этому конкретному вопросу, поскольку изменение на T to = <T>convert(from)
не работает, возможно, мне следует заняться чем-то другим?) ЯПредположение об ошибке означает, что в этом классе есть несколько convert
методов и более одного соответствия?
Спасибо!
Обновление 2: Это преобразованиеподписи:
private void convert(TestObjectDTO from, TestObjectDTO to);
private <T extends TestObjectDTO> T convert(TestObjectDTO from);
private void convert(ProductClassDTO from, ProductClassDTO to);
private <T extends ProductClassDTO> T convert(ProductClassDTO from);
private void convert(TestObjectTypeDTO from, TestObjectTypeDTO to);
private <T extends TestObjectTypeDTO> T convert(TestObjectTypeDTO from);