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

Pet*_*eUK 8 java eclipse gwt maven-2 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 Thread [main](Suspended(exception FileNotFoundException))
URLClassPath $ JarLoader.getJarFile(URL)行:644
URLClassPath $ JarLoader.access $ 600(URLClassPath $ JarLoader,URL)行:540
URLClassPath $ JarLoader $ 1.run()行:607
AccessController.doPrivileged(PrivilegedExceptionAction)行:不可用[native method]
URLClassPath $ JarLoader.ensureOpen()行:599
URLClassPath $ JarLoader.(URL, URLStreamHandler,HashMap)行:583
URLClassPath $ JarLoader $ 3.run()行:810
AccessController.doPrivileged(PrivilegedExceptionAction)行:不可用[native method]
URLClassPath $ JarLoader.getResource(String,boolean,Set)行:806
URLClassPath $ JarLoader.getResource(String,boolean)line:765
URLClassPath.getResource(String,boolean)行:169
URLClassLoader $ 1.run()行:194
AccessController. doPrivileged(PrivilegedExceptionAction,AccessControlContext)行:不可用[native method]
Launcher $ AppClassLoader(URLClassLoader).findClass(String)行:190
Launcher $ AppClassLoader(ClassLoader).loadClass(String,boolean)行:307
Launcher $ AppClassLoader.loadClass( String,boolean)行:301
Launcher $ AppClassLoader(ClassLoader).loadClass(String)行:248 C:\ Program Files\Java\jdk1.6.0_21\bin\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"实例").

Fue*_*ePi 9

在Eclipse中,转到Window - > Preferences - > Java - > Debug并禁用Suspend Execution的所有选项.

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