代码之家  ›  专栏  ›  技术社区  ›  masterdany88

GWT maven项目从maven编译和运行,但不在eclipse中编译和运行

  •  0
  • masterdany88  · 技术社区  · 9 年前

    我有一个多模块maven项目,它是以gwt作为主要web框架构建的。 Here is github repo.

    每个人的想法都像我想象的那样。我没有什么错。

    不幸的是,当我尝试将这个项目导入eclipse(作为maven项目)时,出现了问题。我无法编译此项目( 在包资源管理器中对项目使用人民币->谷歌->GWT编译 ).

    我收到一个错误:

    Loading inherited module 'src.main.resources.pl.derp.parent'
       Loading inherited module 'pl.derp.shared'
          [ERROR] Unable to find 'pl/derp/shared.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
    

    当我试图 包资源管理器中项目名称的人民币->运行->作为Web应用程序运行(GWT超级开发模式) 我有:

    Working directory does not exist: /home/danielo/eclipseGwt/gwt_2.7.0_maven_eclipse/web/src/main/webapp
    

    我已经添加了模块来构建路径。

    我一直在关注这个 instruction

    我想,我已经尽了一切努力让它发挥作用,但仍然能够发挥作用。

    我认为问题在于包的名称,以及maven和eclipse对它们的处理方式。他们受到不同的对待。

    Maven很容易找到每个类(例如: package pl.derp.web; )需要并编译。日食正试图通过f.e.找到它们: src.main.java.pl.derp.web 但找不到。

    我真的不知道如何解决这个问题? 我不确定包装名称模式是否更好( src.main.java.pl.derp.server pl.derp.server )-对我来说,越短越好。

    在maven中运行这个项目(它描述得很好 here ):

    • mvn清洁安装
    • mvn tomcat7:仅运行战争

    并且在第二壳体中:

    • mvn-gwt:运行-pl-web

    在Eclipse中,我认为我运行的是内置的 Jetty server

    请给我一些帮助。

    1 回复  |  直到 9 年前
        1
  •  0
  •   Thomas Broyer    9 年前

    您显然有一个Eclipse项目 server , shared web 声明为源目录。使用M2Eclipse时,您应该有3个项目,每个项目都有 src/{main,test}/{java,resources} 声明为源目录。在没有M2Eclipse的情况下,源目录至少必须是 src/{main,test}/{java,resources} ,无论您有1个或3个项目。

    这就是Eclipse寻找 src.main.java.pl.derp.server 而不是 pl.derp.server ,以及GWT失败的原因(类路径也同样错误)。