问题标签 [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.
java - Maven 插件 gwt-maven-plugin 错误目标编译
我在构建我的项目时遇到了麻烦。执行此操作时,我在 2.8.0 版中的 gwt-maven-plugin 上遇到错误。更多信息:
- 阿帕奇 Maven 3.3.9,
- openjdk 版本“1.8.0_131”
- Ubuntu 16.10
这可能导致什么?
日志:
插件配置:
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),它就会失败。
关于这个问题的任何想法?
谢谢
eclipse - 多个模块的 GWT+ Maven 和 Eclipse 编译
我正在使用推荐的GWT Maven Plugin 和GWT 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_start
和mvn gwt:codeserver
.
但是,Maven GWT 插件只编译四个模块之一。这是我的pom.xml
配置:
该src
文件夹包含以下结构:
(所有modules.gwt.xml
文件都在client/
server/
和shared/
文件夹的同一级别。(
在 Eclipse 中,我可以创建一个启动器来使用我在 POM 文件中指定的所有参数来编译我的项目,但我无法自动执行战争爆炸和复制过程(这是从 Maven 构建项目的主要原因) .
我可以用我的项目结构解决这个编译过程吗?我同时使用 GWT Eclipse 项目和 Maven?
谢谢!
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 应用程序运行时类路径的一部分?
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 编译如何处理行尾,以避免这种情况?或者,还有其他东西可以改变行尾吗?
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。
任何想法是什么原因造成的?
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)。
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 的内容看起来也不错。
你知道为什么会这样吗?
非常感谢!
部分日志:
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:
gwt - 如何在调用 GWT 编译器时告诉 gwt-maven-plugin 不要使用某些参数
我正在尝试将 GWT-2.0.2 项目迁移到 net.ltgt.gwt.maven:gwt-maven-plugin,但它似乎正在使用 GWT 时代无法识别的参数调用 GWT 编译器2.0.2,如 -deploy、-sourceLevel 等。
我知道可以添加额外的参数,但是可以排除一些吗?