如何在 GWT (Google Web Toolkit) 项目中包含外部 jar?

2024-02-04

我有一个名为“xxx.jar”的外部 jar 文件。我在我的 GWT 项目中使用“xxx.jar”。

当我尝试在 Ant 中构建项目的 JavaScript 版本时,在使用 xxx 的每个位置都会收到以下类型的错误之一:在 Ant 中执行“gwtc”任务时出现此类错误,javac 编译过程进展顺利。

[错误] 第 45 行:没有可用于 org.xxx.ObjectName 类型的源代码;您是否忘记继承所需的模块?

好的,很明显它无法看到/使用 xxx.jar。然而,在 GWT 中解决这个问题并不像在“普通”java 中那么简单。来自网络ref1 http://markmail.org/message/vwkngsyzlh3vvjrp#query:include%20external%20jar%20in%20GWT+page:1+mid:vwkngsyzlh3vvjrp+state:results1.2.,我认为我需要

  1. 将 xxx.jar 中的所有源 (.java) 文件包含在源目录中
  2. 将此源目录添加到某种新的 gwt.xml 文件中
  3. 希望并祈祷所有的 java 文件都能被 GWT 翻译:/

那么...我到底该怎么做?我需要生成的 gwt.xml 文件是什么(第 2 步)?我应该将源目录放在哪里,以及如何引用它(步骤 1)?在 GWT 中添加外部 jar 文件到底需要哪些机械步骤?


由于您的 GWT 源代码必须编译为 JavaScript 才能在客户端浏览器上工作,因此源代码应该可供 GWT 编译器使用是有意义的。

看看拉尔斯·沃格斯article http://www.vogella.de/articles/GWT/article.html#modules在他的教程中有一个简短的部分

这也是有道理的,因为有限制谷歌大纲 http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsCompatibility.html#runtime即使您可以获得源代码,此 JAR 中的所有代码也可能无法编译为 GWT javascript。

GWT 仅支持一小部分 Java 2 中可用的类 标准版和企业版 库,因为这些库是 相当大并且依赖于功能 网络中不可用 浏览器。要找出到底是哪一个 支持类和方法 核心 Java 运行时包,请参阅 总吨位JRE 仿真参考 http://code.google.com/webtoolkit/doc/latest/RefJreEmulation.html

罗伯特·汉森 (Robert Hanson) 提供了一步一步的方法如何打包GWT组件 http://roberthanson.blogspot.com/2006/05/how-to-package-gwt-components.html

祝你好运...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 GWT (Google Web Toolkit) 项目中包含外部 jar? 的相关文章

  • 使用 TLS PSK 加密时如何正确检测流结束?

    我已经准备好了一个简单的 TLS PSK 客户端测试用例 https github com afarber jetty newbie tree master TlsPskClient2 src main java de afarber tl
  • 来自行号的方法名称

    给定特定类源代码 Java C 的行号 是否有一种简单的方法来获取它所属的方法的名称 如果它落入其中 大概使用抽象语法树 这对于将 checkstyle 的输出限制为仅触及的方法很有用 我假设您必须使用抽象语法树来执行 Line gt Me
  • java 拖放

    我尝试熟悉java中的拖放 但我发现的所有教程都是 让我生气 我想要的只是从 JList 包含在名为 UserPanel 的自制 JPanel 中 拖动 PublicUserLabel 并将其放入从 JTabbedPanel 继承的自制类中
  • 如何将webview内容划分为多个页面

    我必须使用 Android 上的 PdfDocument 从 webView 创建 PDF https developer android com reference android graphics pdf PdfDocument htm
  • 当我们使用赋值而不是比较时,如何评估 if/while 条件?

    我在学习 Java 的 OCA OCP 时发现了这个令人惊讶的事情 下面是第一段代码 其中 if 测试条件 部分 让我惊讶 public class BooleanIf public static void main String args
  • Spring 从 JBoss 上下文加载 PropertySourcesPlaceholderConfigurer

    我有一个使用 PropertySourcesPlaceholderConfigurer 的 spring 3 1 应用程序加载设置 我想管理测试和生产环境 只需从服务器上下文加载设置覆盖本地文件属性中指定的设置 下一个示例在 Tomcat
  • 在 Eclipse 中删除空块之前的新行

    我更喜欢奥尔曼式 http en wikipedia org wiki Brace style Allman style大括号 例如 if foo magical prancing unicorn stuff 而不是 if foo unma
  • 生成一定长度的所有排列

    假设我们有一个字母表 abcdefghiklimnop 如何以有效的方式以五个一组的形式重复该字母表来递归生成排列 几天来我一直在为此苦苦挣扎 任何反馈都会有帮助 本质上这与 生成给定字符串的所有排列 https stackoverflow
  • java彩色滚动条搜索结果

    我将如何在 Java 中自定义滚动条 以便我可以进行像 chrome 一样的搜索 也就是说在结果所在的位置放置彩色条纹 我不想要一个库 因为我更喜欢自己编写代码 另外 我不想失去我拥有的 L F 欢迎举例 实际上 它将查看一个大的文本文件或
  • 扩展多个类

    我知道 Java 不支持多重继承 因为不允许扩展多个类 我只是想知道我的问题是否有解决方法 我有一个名为CustomAction需要扩展两个抽象类 BaseAction and QuoteBaseAction 我无法更改这些抽象类中的任何一
  • java绕中心旋转矩形

    我想围绕其中心点旋转一个矩形 它应该保留在应该绘制的位置并在该空间中旋转 这是我的代码 AffineTransform transform new AffineTransform transform rotate Math toRadian
  • 如何获取 JDBC 中 UPDATE 查询影响的所有行?

    我有一项任务需要使用更新记录PreparedStatement 一旦记录被更新 我们知道更新查询返回计数 即受影响的行数 但是 我想要的不是计数 而是受更新查询影响的行作为响应 或者至少是受影响的行的 id 值列表 这是我的更新查询 UPD
  • 始终将双精度舍入

    我怎么总是能把一个double to an int 并且永远不要将其四舍五入 我知道Math round double 但我希望它始终向上舍入 所以如果是的话3 2 四舍五入为 4 您可以使用Math ceil method 请参阅Java
  • BigDecimal汇总统计

    我有一个 BigDecimal 列表 List
  • 在 Kotlin 中声明静态属性?

    My Java code public class Common public static ModelPengguna currentModelPengguna public class Common companion object v
  • 如何使用 AffineTransform.quadrantRotate 旋转位图?

    我想旋转一个bitmap关于它的中心点 然后将其绘制成更大的图形上下文 位图是40x40 pixels 图形上下文是500x500 pixels 这就是我正在做的 BufferedImage bi new BufferedImage 500
  • 如何在一次操作中使用 Thymeleaf 检查 null 和空条件?

    有什么方法可以检查 Thymeleaf 中的 null 和empty 条件吗 方法一 1 variable1 variable2 variable3 2 variable null 3 variable 如果我们结合两个条件 例如 vari
  • 假布尔值=真?

    我在一本书中找到了这段代码 并在 Netbeans 中执行了它 boolean b false if b true System out println true else System out println false 我只是不明白为什
  • FetchType.LAZY 不适用于休眠中的 @ManyToOne 映射

    简而言之 我的 Child 类与 Parent 类之间存在多对一的关系 我想加载所有的孩子 而不必加载他们的父母详细信息 我的孩子班级是 Entity public class Child implements Serializable I
  • Graphics2D setfont() 严重减慢了 java 应用程序的启动速度

    我正在用java制作一个游戏 它每秒刷新60次 每次执行循环时 我都会使用 g2d 来绘制图像和字符串 如果我这样做的话一切都会很好g2d setFont new Font Arial Font PLAIN 8 和抽绳 这将是正常的 但如果

随机推荐