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

时间:2015-08-26 19:20:13

标签: java eclipse maven gwt gwt-2.7

我有多模块maven项目,即使用gwt作为主要Web框架构建。 Here is github repo.

Everythink正如我所说的那样工作。我没有错。

不幸的是,当我尝试将此项目导入eclipse(作为maven项目)时会出现问题。我无法编译这个项目(在Package Explorer中使用RMB上的RMB - > Google - > GWT Compile )。

我收到错误:

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?

当我在Package Explorer中尝试 RMB on Project name时 - >运行 - >作为Web应用程序运行(GWT Super Dev Mode) 我有:

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

我添加了构建路径的模块。

我已按照此instruction

我认为,我已经做了一切努力使其发挥作用,但仍然可以使其发挥作用。

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

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

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

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

  • mvn clean install
  • mvn tomcat7:run-war-only

并在第二个shell中:

  • mvn gwt:run -pl web

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

请给我一些帮助。

1 个答案:

答案 0 :(得分:0)

您显然拥有一个Eclipse项目,其中serversharedweb被声明为源目录。使用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也会失败(类路径同样错误)。