sdo*_*oca 5 eclipse gwt maven-2
我刚刚开始使用GWT.我使用Eclipse并安装了GWT插件.
我按照Maven GWT 2.0和Eclipse中的指示使用gwt-maven-plugin建立了一个GWT项目.当我运行Maven目标时gwt:compile gwt:run,会启动GWT开发模式,我可以将其中的URL复制到我的浏览器并查看标签.
但是,该项目存在这个问题:
Description: The web.xml file does not exist
Resource: WEB-INF
Path: /GWTExample/war
Location: Unknown
Type: Google Web App Problem
Run Code Online (Sandbox Code Playgroud)
如果我尝试将项目作为Google Web应用程序运行,我会收到此警告:
[WARN] No startup URLs supplied and no plausible ones found -- use -startupUrl
Run Code Online (Sandbox Code Playgroud)
我可以通过将web.xml复制到war目录来解决问题,但是当作为Google Web App运行时,我仍然会遇到URL问题.
如果我在Eclipse中使用Maven和GWT,我应该忽略web.xml问题并始终通过Maven目标在开发模式下运行应用程序吗?或者有没有办法设置东西,以便我可以作为谷歌Web应用程序运行?
编辑:与上述相关,是否可以调试在开发模式下运行的GWT应用程序gwt:compile gwt:run?我已经为我的应用程序添加了断点,但它并没有停止.我不确定这是我配置错误还是不可能.
回应Prem的回答......
运行a时compile gwt:run,不会复制web.xml文件.当我运行时install gwt:run,我收到此错误:
[INFO] --- gwt-maven-plugin:1.2:test (default) @ SampleGWT ---
[INFO] using GWT jars from project dependencies : 2.0.4
[INFO] establishing classpath list (scope = test)
[ERROR] java.lang.NoClassDefFoundError: org/codehaus/mojo/gwt/test/MavenTestRunner
[ERROR] Caused by: java.lang.ClassNotFoundException: org.codehaus.mojo.gwt.test.MavenTestRunner
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[ERROR] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[ERROR] Could not find the main class: org.codehaus.mojo.gwt.test.MavenTestRunner. Program will exit.
[ERROR] Exception in thread "main"
Run Code Online (Sandbox Code Playgroud)
我猜这个bug http://jira.codehaus.org/browse/MGWT-24包含在gwt-maven-plugin的1.2版本中.通常我不会在构建war文件的项目上运行install,但我希望至少可以通过构建周期的测试阶段.
有没有人知道为什么我会在安装时得到这个错误而不是编译目标?另外,我是否应该期望将web.xml文件从src/main/webapp/WEB-INF/web.xml复制到/ war目录?
小智 4
web.xml 文件不存在。
gwt-maven-plugin 创建一个具有“war”打包格式的项目(它是一个 Web 应用程序,所以这里并不奇怪)。该项目的 Web.xml 将位于“src/main/webapp”文件夹下,该文件夹将被复制到“war”目录(设置为输出目录),作为 Maven 构建生命中“资源”阶段的一部分 -循环。你应该总是使用
mvn 编译 gwt:run
或者
mvn 安装 gwt:运行
这样资源就会被复制,所有java文件都会被编译,并且gwt:compile也会被调用(因为它自动绑定到“编译”阶段)
[警告] 未提供启动 URL,也未找到合理的启动 URL -- use -startupUrl
根据您用作参考的 stackoverflow 链接,只有您的 Maven 构建文件是使用startupUrl 设置的。为了使其在 Eclipse 中工作,您必须编辑项目的运行配置,并将“-statupUrl”命令行参数添加到“参数”面板中的现有参数中。
然而,这只是一个警告,它不应该阻止您从 eclipse 运行 GWT 应用程序。如果您在这里也遇到相同的“web.xml”问题,可能是因为您在调用“作为 Web 应用程序运行”之前没有在 IDE 中编译项目。我建议您禁用该项目的“自动构建”选项,并始终手动构建它并调用“GWT 编译”,然后尝试“作为 Web 应用程序运行”
编辑:与上述相关,是否可以调试由 gwt:compile gwt:run 启动的在开发模式下运行的 GWT 应用程序?
通常,您必须使用“远程应用程序”调试配置来远程调试进程。但是我不确定它是否适用于 GWT 项目。
| 归档时间: |
|
| 查看次数: |
14311 次 |
| 最近记录: |