0

我有一个多模块 maven 项目,它是用 gwt 作为主要 Web 框架构建的。这里是 github 仓库。

正如我所想的那样,Everythink 可以正常工作。我没有任何问题。

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

我收到一个错误:

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 -> Run -> Run as Web application (GWT Super Dev Mode) 中对项目名称进行 RMB 时, 我得到了:

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

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

我已按照此说明进行操作

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

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

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

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

在 Maven 中运行这个项目(这里有很好的描述

  • mvn 干净安装
  • mvn tomcat7:run-war-only

在第二个外壳中:

  • mvn gwt:run -pl web

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

请给我一些帮助。

4

1 回答 1

0

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

于 2015-08-26T20:51:16.810 回答