首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Maven Intellij IDEA未能编译类

Maven Intellij IDEA未能编译类
EN

Stack Overflow用户
提问于 2014-09-10 07:21:09
回答 1查看 403关注 0票数 0

我用Maven、Intellij和GWT编译得到了这个奇怪的问题。我已经在我的桌面pc上设置和工作,但现在我已经撤回更改并将该项目加载到我的另一台计算机上,我得到了以下问题:

代码语言:javascript
运行
复制
...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

更大的日志跟踪视图:这里

将错误点存档到:

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
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、相同的字节码版本等等。它怎么能在我的另一台机器上工作,但现在却不能在这台安装完全相同的机器上工作呢?

  • Javac 1.7
  • JDK 7
  • GWT 2.6.1
  • Maven 3.1.0

我试过:

  • 使缓存无效并重新启动
  • 删除Intellij系统目录,然后重新启用maven项目
  • 双、三、四倍检查设置和配置

如对此问题有任何帮助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-10 15:44:59

虽然原因仍然很神秘,但问题与以下事实有关: JAVA编译器很难正确地计算出继承链,而编译器在可以编译的内容上稍微慷慨一点。

从MyView中提取InvestigationPresenter将解决您的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25759492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档