Eclipse没有为GWT构建WEB-INF/类

Eclipse没有为GWT构建WEB-INF/类,eclipse,gwt,maven-2,gwt-platform,Eclipse,Gwt,Maven 2,Gwt Platform,我一直在与Maven一起使用GWT,但无论我尝试做什么,Eclipse都不希望自动将源代码编译到通常的webapp/WEB-INF/classes文件夹中。我尝试使用来自GWT平台的gwtp样本basic样本再现问题;可在此处找到: 在没有类的情况下通过Jetty部署和运行项目会导致以下预期错误: [WARN] Could not instantiate listener example.project.server.MyGuiceServletContextListener java.lan

我一直在与Maven一起使用GWT,但无论我尝试做什么,Eclipse都不希望自动将源代码编译到通常的webapp/WEB-INF/classes文件夹中。我尝试使用来自GWT平台的gwtp样本basic样本再现问题;可在此处找到:

在没有类的情况下通过Jetty部署和运行项目会导致以下预期错误:

[WARN] Could not instantiate listener example.project.server.MyGuiceServletContextListener
java.lang.ClassNotFoundException: example.project.server.MyGuiceServletContextListener
...
[WARN] EXCEPTION 
java.lang.ClassNotFoundException: com.google.inject.servlet.GuiceFilter
...
[WARN] failed guiceFilter: javax.servlet.UnavailableException: com.google.inject.servlet.GuiceFilter
...
[WARN] Failed startup of context com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@aec7ab1{/,/home/user/Documents/Workspace/project/src/main/webapp}
javax.servlet.UnavailableException: com.google.inject.servlet.GuiceFilter
...
使用Ant,这些类被构建到正确的文件夹webapp/WEB-INF/classes,但是我尝试过的任何Maven配置都无法做到这一点

  • 这可能是Maven特有的吗
  • 有什么我可能忘记在Eclipse中配置的吗
  • 有没有人有过类似的问题,并且找到了解决方法

旁注:使用Eclipse的默认Sonatype Maven插件。还尝试使用webAppCreator工具重新初始化Maven项目,但没有改变结果。使用提供的默认运行配置。webapp/WEB-INF/lib自动包含所需的库。

Maven通常编译成
target/classes
。当您与Maven构建一个WAR时,Maven将从那里复制类,以便它们最终位于WAR中正确的位置

所以问题是:你所说的“运行项目”是什么意思?通常,这意味着建立并部署一场战争。如果你这样做,一切都会成功

我的猜测是,你想避免这种努力,因为它需要相当长的时间。但除非你明确告诉我们你是如何设置你的项目的,以及你是如何“运行”它的(你使用哪个容器,哪个插件,诸如此类的东西),否则这是不可能的

[EDIT]您的主要问题可能是类路径如何移交给Jetty,以及它是尊重它还是构建自己的类路径

您可能想看看“由于M2Eclipse和Google Eclipse插件,可以很好地集成到Eclipse中”


也可能对您有所帮助。

我应该提到,运行等于通过Jetty进行部署和调试;在使用用于Eclipse的GWT插件时,哪个是默认服务器。@Aaron继续问这个问题:部署时不需要这些WEB-INF/类,对吧,除非您有服务?我看到那里的每个UI类都编译成了.class,但是GWT使用的是JS,所以我不想了解这些文件吗?我的项目在classes文件夹中有大约2400个文件,在实际的公共文件夹中有400个。@JosephLust:请不要在评论中提出复杂的问题。发布一个新问题。