问题标签 [gwt-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
843 浏览

java - Maven 插件 gwt-maven-plugin 错误目标编译

我在构建我的项目时遇到了麻烦。执行此操作时,我在 2.8.0 版中的 gwt-maven-plugin 上遇到错误。更多信息:

  • 阿帕奇 Maven 3.3.9,
  • openjdk 版本“1.8.0_131”
  • Ubuntu 16.10

这可能导致什么?

日志:

插件配置:

0 投票
1 回答
623 浏览

java - gwt-maven-plugin 在 gwt-app 上失败

我在让 gwt-maven-plugin 像文档所说的那样工作时遇到问题。使用 GWT 2.8.2 使用 InteliJ 2018 从使用模板 maven、sample、readme 的 2.8.2 webAppCreator 生成的示例项目开始。

那个基本项目的包装设置为战争

此时我可以在 DEV 模式下运行。一旦我将包装更改为 gwt-app (根据插件的文档https://tbroyer.github.io/gwt-maven-plugin/usage.html),它就会失败。

关于这个问题的任何想法?

谢谢

0 投票
1 回答
147 浏览

eclipse - 多个模块的 GWT+ Maven 和 Eclipse 编译

我正在使用推荐的GWT Maven PluginGWT Eclipse Plugin。实际上,我正在使用 maven 插件appengine-mave-plugin来尝试模拟旧的 Google Eclipse 插件超级开发模式。按照GWT 插件文档中的Google App Engine说明和建议的示例项目gwt-basic-rpc-appengine 我创建了这个项目,当我从 Eclipse 启动 App Engine 本地服务器时,我的项目在超级开发模式下运行(使用 Eclipse Google Cloud Tools 本地 App Engine 服务器启动器工具)。在 Maven 中,此过程的工作方式如下:mvn clean package appengine:devserver_startmvn gwt:codeserver.

但是,Maven GWT 插件只编译四个模块之一。这是我的pom.xml 配置:

src文件夹包含以下结构:

(所有modules.gwt.xml文件都在client/ server/shared/文件夹的同一级别。(

在 Eclipse 中,我可以创建一个启动器来使用我在 POM 文件中指定的所有参数来编译我的项目,但我无法自动执行战争爆炸和复制过程(这是从 Maven 构建项目的主要原因) .

我可以用我的项目结构解决这个编译过程吗?我同时使用 GWT Eclipse 项目和 Maven?

谢谢!

0 投票
1 回答
1030 浏览

eclipse - 在 Eclipse 应用程序运行时排除 Maven 依赖项

当我尝试在 Eclipse 上运行 Java 应用程序时,两个依赖项之间的冲突导致应用程序失败。

我正在尝试将我的项目 Java 版本从 OracleJDK 8 升级到 OpenJDK 11。因此,我还必须将 GWT 依赖项从 2.6.0 更新到 2.8.2,以及从 MOJO gwt-maven- 切换tboyer 版本的插件也是如此。此外,构建是在 Eclipse IDE 4.9.0 上的 Maven 4.0.0 上完成的。

pom.xml 的片段

因此,当我在 Eclipse 上运行应用程序时,会出现以下错误:

经过调查,我发现我的两个依赖项 tomcat-embed-core-7.0.91 和 apache-jsp-8.0.9.M3 都包含有几个不同的 ExceptionUtils,因此是 Exception。此外,gwt-dev 依赖项正在提取 apache-jsp,该依赖项仅在 Maven 构建期间需要运行 gwt-maven-plugin。

但是由于某种原因,Eclipse 将 gwt-dev 及其依赖项包含在运行时路径中,即使我在 pom.xml 中有“提供”范围标记。

我已经尝试排除 apache-jsp 依赖项,但出现编译问题,因为显然 gwt-dev 仍在添加,这取决于 apache-jsp。

概括

  • Tbroyer GWT-Maven-Plugin 要求 pom 文件包含 gwt-dev 作为依赖项,以便在构建期间正确运行。
  • 但是,在 Eclipse 上运行应用程序时,在 org.apache.tomcat.util.ExceptionUtils.preload()V 上发生 NoSuchMethodException
  • 问题是有两个 ExceptionUtil 类具有来自不同 jar 和方法的相同包。
  • 其中一个罐子是 apache-jsp,它是 gwt-dev 的依赖项。Gwt-dev 及其依赖项不应成为运行时类路径的一部分。

问题:有没有办法确保 gwt-dev 仅在 Maven 构建期间使用,而不是 Eclipse Java 应用程序运行时类路径的一部分?

0 投票
0 回答
200 浏览

git - GWT 模块的 Maven 安装将行尾从 LF 更改为 CRLF

我有一种情况,我克隆了一个包含 GWT 的项目的 git repo,然后我执行了一个mvn clean install,其中包括 GWT 排列的编译。mvn clean install之后,我执行git status并看到一大堆“修改过的”文件。但我没有修改任何一个。所以我做了一个git diff,他们对各种文件显示了这个警告:

我正在运行 Windows,我的理解是警告表明 Unix (LF) 和 Windows (CRLF) 上的行尾不匹配。因此,构建的 GWT 编译阶段似乎修改了这些源文件中的行尾。

我还注意到包含这些文件的源目录消失并在构建过程中在 maven 日志显示后重新创建:“...排列编译成功”。

我的maven pom.xml使用gwt-maven-plugin 编译目标,配置如下:

我是 GWT 的新手,但假设这是行尾发生变化的地方,有没有办法配置它,所以 GWT 编译如何处理行尾,以避免这种情况?或者,还有其他东西可以改变行尾吗?

请注意,此问题与此问题和此问题不同,因为它们与 GWT 编译无关。

0 投票
1 回答
61 浏览

java - IDE 和命令行中 gwt-maven-plugin 的不同行为

我正在使用 gwt-maven-plugin,最近我的 IDE(eclipse 氧气)出现了奇怪的错误。经过研究,我意识到 gwt-maven-plugin 在 eclipse 或命令行中运行时的行为不同。在命令行上一切正常,gwt:css 创建了一个具有正确可见性(公共)的界面。但是当我在 eclipse 中运行它时,它public丢失了,因此我在 eclipse 中得到了所有错误,因为类不能再访问接口了。我正在使用 gwt 2.6.1、JDK 1.8.0(但构建本身是 1.6)和 maven 3.5.2。

任何想法是什么原因造成的?

0 投票
0 回答
875 浏览

intellij-idea - 有人用 GWT 2.9.0 和 Java 11 管理过 GWT Super Dev 吗?

我维护的 GWT 项目可以追溯到 2009 年的黄金 GWT 时代。与此同时,发生了很多事情,我们希望尽可能地更新项目(目前是 Java8,GWT 2.8.2)。

与我的依赖配置作斗争,我设法使用 Java 11(和语言级别 11)和 Tomcat 9 设置打包和运行的东西。我们使用(据我了解已弃用)gwt-maven-plugin(2.9.0)运行编译阶段无错误 - 我的最终输出是一个战争文件,所有内容都按预期到位。

但是当谈到开发,因此运行超级开发模式时,真正的痛苦开始了。IntelliJ 集成将不再启动 SuperDev 目标。插件的 gwt:run 目标相同。

该插件引用了 jetty 9.2.14.v20151106 jars(通过 gwt-dev/gwt),它们不适用于 Java 9+。所以我排除了这些并用更新的版本(9.4.29.v20200521、9.4.30.v20200611)替换了这些罐子——更进一步。

为了解决 Java 9 游戏,我创建了一个 module-info.java 来指出我所有的引用,并解决了那里的冲突 - 另一个步骤。

但现在我到达了一个障碍点:

超级开发模式开始说明:

(虽然我引用了 java.scripting 模块)

我的主机页面显示 HTTP 503

从那里,我看不到其他线索(错误输出或堆栈跟踪)。

到目前为止,在这个问题上花了三天时间之后,我的挫败感开始上升......我就在翻转桌子之前。

有人在一个合理的实际项目(JPA、Spring、...)中成功地使用 GWT 2.9.0 启动了 GWT 超级开发模式吗?

如果您遇到类似的障碍,很乐意分享我的发现。

最好的,丹

ps:我尝试了net.ltgt.gwt.maven gwt-maven-plugin 没有成功,但这可能是其他配置缺陷。

pp.s.:在 Java 8 环境中,我可以使用 GWT 2.9.0,它是超级开发模式(通过 IntelliJ 和 gwt-maven-plugin)。

0 投票
2 回答
236 浏览

gwt - 用 jdk17 编译 GWT

我正在尝试将 gwt 应用程序从 java 1.8 迁移到 17(java 源代码保留在 1.8 中)。

我正在使用 gwt-maven-plugin 2.9.0 版。使用基于日志的 open JDK 17 编译看起来没问题,没有错误,与使用 JDK1.8 调试日志编译相比看起来相同。所有文件(如 css、图像、js、rpc.log、gwt.log 等)都是基于创建的日志。

但是当编译完成时,war中的模块目录仍然是空的,只有目录结构而没有文件(例如gwt.rpc,resources,cache.js,nocache.js ...丢失)。

在日志中提到“排列编译成功....链接成功”。目录 gwt-unitCache 的内容看起来也不错。

你知道为什么会这样吗?

非常感谢!

部分日志:

0 投票
1 回答
26 浏览

gwt - “没有可用于类型的源代码...您是否忘记继承”,相同的模块,只是同级源目录(迁移 gwt-maven-plugin)

我收到“没有可用于类型 net.jzaruba.theapp.data.ColorFormResource 的源代码;您是否忘记继承所需的模块?” 位于同一个 maven 模块中的类 (net.jzaruba.theapp.client.TheEntryPoint) 中的错误,就在据称丢失的类型旁边的同级目录/包中。

TheApp/Web/src/main/module.gwt.xml:

应用程序/Web/pom.xml:

0 投票
1 回答
39 浏览

gwt - 如何在调用 GWT 编译器时告诉 gwt-maven-plugin 不要使用某些参数

我正在尝试将 GWT-2.0.2 项目迁移到 net.ltgt.gwt.maven:gwt-maven-plugin,但它似乎正在使用 GWT 时代无法识别的参数调用 GWT 编译器2.0.2,如 -deploy、-sourceLevel 等。

我知道可以添加额外的参数,但是可以排除一些吗?