Компилятор Eclipse на самом деле отличается от компилятора javac.Иногда они расходятся в поведении, обычно быстро примиряются.
Это было очень заметно, когда появились дженерики Java.Были случаи, когда eclipse либо обнаруживала ошибку с помощью директивы generics, которую разрешил бы javac, либо javac обнаружила ошибку с генериками, которые допускает eclipse (не могу вспомнить, в каком направлении она разошлась, слишком давно).В любом случае, javac, скорее всего, будет правильной реализацией.
В вашем случае вы загрязняете пространство имен ссылкой на родовой класс на внутренний класс.Скорее всего, затмение достигает «Вид» в другом порядке приоритетов, чем javac.Превосходно, что либо Javac реализует порядок, указанный в рекомендациях по языку Java, либо рекомендации Java еще не объявили «единый истинный порядок» разрешения конфликтующих одноименных классов.Обычно это не проблема, поскольку недопустимо дважды использовать одно и то же неполное имя в Java;однако, с внутренними классами спецификации могут быть как бы «обойдены».
Я бы сделал
public interface MyView extends View {
}
привязкой только к одному представлению (не знаю, если com.gwtplatform.mvp.client.View
илиMyPresenter.View
правильный), сделав имя явным.
public interface MyView extends MyPresenter.View {
}
или
public interface MyView extends com.gwtplatform.mvp.client.View {
}
Таким образом, вы не станете жертвой "привязки" интерфейса к неправильномувведите в зависимости от компилятора.