Maven 在GWT中处于托管模式时更新依赖项
我将一个GWT webapp拆分为两个Maven项目,其中一个是对另一个的依赖。每次我在依赖项中更改某些内容,并且在托管模式下运行webapp时,我都必须重建子项目并重新启动托管模式,以便应用更改。这需要很多时间,因此我想问您是否有任何方法可以使用依赖项的“实时”版本制作GWT?从webapp下的主应用程序库文件夹中删除依赖的其他应用程序jar文件。 然后,如果已将该依赖项添加到主应用程序类路径中,Eclipse应使用工作区中的其他项目解决该依赖项。有两种情况:Maven 在GWT中处于托管模式时更新依赖项,maven,gwt,gwt-hosted-mode,Maven,Gwt,Gwt Hosted Mode,我将一个GWT webapp拆分为两个Maven项目,其中一个是对另一个的依赖。每次我在依赖项中更改某些内容,并且在托管模式下运行webapp时,我都必须重建子项目并重新启动托管模式,以便应用更改。这需要很多时间,因此我想问您是否有任何方法可以使用依赖项的“实时”版本制作GWT?从webapp下的主应用程序库文件夹中删除依赖的其他应用程序jar文件。 然后,如果已将该依赖项添加到主应用程序类路径中,Eclipse应使用工作区中的其他项目解决该依赖项。有两种情况: 对于服务器端代码,假设您使用D
- 对于服务器端代码,假设您使用DevMode的嵌入式服务器,重建应用程序然后刷新服务器就足够了
- 对于客户端代码AFAICT,您必须使用依赖模块的源目录和输出目录,而不是包含它们的JAR(GWT将从类路径加载源代码,但显然只有当它来自文件夹而不是JAR时,它才会看到修改过的源代码;至少我在测试中发现了这一点)。这与此相反,但到目前为止,唯一的解决方案是使用一个特殊的配置文件,将依赖项项目的源作为您正在运行的项目的源导入。您可以在中看到这方面的示例
实际上,gwt-maven插件有一个bug,在运行reactor构建时自动执行该操作。我还了解了即将发布的官方
(从头重写,独立于CodeHaus-Mojo插件)真正需要什么 如果你的依赖关系不是来自于反应堆构建,那么你就得靠自己了:你选择了使它完全不同,所以这就是它的行为方式:你必须在每次更改它时释放它(甚至是快照),并在你的应用程序中使用新版本(这意味着重新启动DevMode) 这可以通过自己运行DevMode来避免,而无需借助gwt-maven插件
。不过,您只能自己管理类路径(使用Google插件for Eclipse,我想您可以简单地编辑启动配置,将依赖项项目的源文件夹添加到类路径中,在Maven提供的引用JAR的类路径之前)GWTMaven插件