GWT webappcreator创建Maven项目:源附件不包含文件URLClassPath.class的源

时间:2010-11-30 14:38:23

标签: java eclipse maven-2 gwt maven

我创建了一个基于Maven2的GWT应用程序,将其导入Eclipse,当我调试为GWT Web应用程序时,Eclipse调试会话暂停FileNotFoundException。它显示一个窗口:源附件不包含文件URLClassPath.class的源。

我已经彻底清除了Eclipse工作区(和.metadata子目录),创建/导入了一个空白项目,同样的事情发生了。如果我运行为 GWT Web应用程序,它可以正常工作(有几个警告)。我需要调整什么来使其在调试模式下工作?

重现问题的步骤

1)创建应用

webAppCreator -noant -maven -XnoEclipse -out MyApp com.example.MyApp

2)导入和更改设置

  • 将应用程序导入Eclipse工作区,勾选“使用Google Web Toolkit”复选框。

  • “此项目有一个WAR目录”已选中。 WAR目录设置为src / main / webapp。未选中“从此目录启动和部署”。

3)调试为

现在按下调试工具栏按钮,选择“GWT Web Application”,然后选择target / www作为WAR目录。你应该看到同样的问题。 “调试”窗格中的调用堆栈包含以下内容:

  

MyApp.html [Web应用程序]
  com.google.gwt.dev.DevMode at   localhost:51620线程[主要]   (暂停(例外   FileNotFoundException异常))
  URLClassPath $ JarLoader.getJarFile(URL)   线:644
  URLClassPath $ JarLoader.access $ 600($ URLClassPath JarLoader,   URL)行:540
  URLClassPath $ JarLoader $ 1.run()行:   607个
  AccessController.doPrivileged(的PrivilegedExceptionAction)   line:not available [native method]
  URLClassPath $ JarLoader.ensureOpen()   行:599
  URLClassPath $ JarLoader(URL,   的URLStreamHandler,   HashMap)行:583
  URLClassPath $ JarLoader $ 3.run()行:   810个
  AccessController.doPrivileged(的PrivilegedExceptionAction)   line:not available [native method]
  URLClassPath $ JarLoader.getResource(字符串,   boolean,Set)line:806
  URLClassPath $ JarLoader.getResource(字符串,   boolean)line:765
  URLClassPath.getResource(字符串,   boolean)line:169
  URLClassLoader $ 1.run()行:194
  AccessController.doPrivileged(的PrivilegedExceptionAction,   lineControlContext)line:not   可用[本地方法]
  启动$ AppClassLoader(URLClassLoader的).findClass(字符串)   line:190
  启动$ AppClassLoader器(classloader).loadClass(字符串,   boolean)line:307
  启动$ AppClassLoader.loadClass(字符串,   boolean)line:301
  启动$ AppClassLoader器(classloader).loadClass(字符串)   line:248 C:\ Program   文件\的Java \ jdk1.6.0_21 \斌\ javaw.exe的   (2010年11月28日15:28:32)

版本和插件

GWT:2.1。

Eclipse:Helios(3.6)。

Maven:2.2.1。

JRE / JDK:JDK 1.6.0.21。

适用于Eclipse 3.6版本1.4.0.v201010280102的Google插件。

Eclipse的Maven Integration(m2eclipse)版本0.10.2.20100623-1649(已配置为指向Maven 2.2.1环境而不使用嵌入式Maven3“实例”)。

1 个答案:

答案 0 :(得分:9)

在Eclipse中转到Window - >偏好 - > Java - >调试并禁用Suspend Execution的所有选项。

由于此错误可能不是由您的应用程序引起的,因此您不需要该类的源(URLClassPath)。如果您真的想要,可以在Oracle的/ Sun的Java站点上搜索源代码并将Eclipse指向它们;)