我在Maven,Intellij IDEA和GWT编译中遇到了这个奇怪的问题。我有这个设置并在我的桌面电脑上工作,但现在我已经取消了更改并在我的另一台计算机上加载了项目我得到了这个问题:
...snip... \EmailServiceImpl.java C:\Users\Szabolcs\Java\Workspace\ims-project\ims\src\main\java\nz\co\doltech\ims\shared\domains\InjuryType.java -s C:\Users\Szabolcs\Java\Workspace\ims-project\ims\target\generated-sources\annotations -g -nowarn -target 1.7 -source 1.7 -encoding UTF-8
[INFO] Compiling 370 source files to C:\Users\Szabolcs\Java\Workspace\ims-project\ims\target\ims-1.0-SNAPSHOT\WEB-INF\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] \Users\Szabolcs\Java\Workspace\ims-project\ims\src\main\java\nz\co\doltech\ims\client\application\investigation\InvestigationPresenter.java:[126,26] error: cannot find symbol
[ERROR] \Users\Szabolcs\Java\Workspace\ims-project\ims\src\main\java\nz\co\doltech\ims\client\application\investigation\InvestigationPresenter.java:[126,40] error: cannot find symbol
[ERROR] \Users\Szabolcs\Java\Workspace\ims-project\ims\src\main\java\nz\co\doltech\ims\client\application\investigation\InvestigationPresenter.java:[123,84] error: type argument MyView is not within bounds of type-variable T
[ERROR] \Users\Szabolcs\Java\Workspace\ims-project\ims\src\main\java\nz\co\doltech\ims\client\application\investigation\InvestigationPresenter.java:[204,11] error: cannot find symbol
[ERROR] \Users\Szabolcs\Java\Workspace\ims-project\ims\src\main\java\nz\co\doltech\ims\client\application\investigation\InvestigationModule.java:[10,2] error: no suitable method found for bindPresenter(Class<InvestigationPresenter>,Class<MyView>,Class<InvestigationView>,Class<MyProxy>)
[INFO] 5 errors
更大的日志跟踪视图:here
将错误指向:
123 public class InvestigationPresenter extends IncidentPresenter<InvestigationPresenter.MyView,
InvestigationPresenter.MyProxy> implements InvestigationViewUiHandlers, ChangeSectionHandler {
126 interface MyView extends IncidentView, HasUiHandlers<InvestigationViewUiHandlers> {
void setupValidation(Map<Integer, SectionTuple> sections);
void flush();
void limited(LimitType type);
... snip ...
InvestigationModule.java
public class InvestigationModule extends AbstractPresenterModule {
@Override
protected void configure() {
bind(InvestigationView.Resources.class).asEagerSingleton();
10 bindPresenter(InvestigationPresenter.class, InvestigationPresenter.MyView.class,
InvestigationView.class, InvestigationPresenter.MyProxy.class);
}
}
这没有任何意义。 IDE没有显示问题,它不应该......使用相同的编译器设置,相同的JDK相同的字节码版本等。它怎么可能在我的其他机器上工作但现在不在这个上基本上设置完全相同?
我试过了:
对此问题的任何帮助表示赞赏。
答案 0 :(得分:1)
虽然原因仍然很神秘,但问题与JAVA编译器很难正确计算继承链这一事实有关,而Eclipse和IntelliJ编译器对你可以编译的内容更加慷慨。 / p>
从InvestigationPresenter中提取MyView将解决您的问题。