【问题标题】:Google Web Toolkit - how to add an external .jar packageGoogle Web Toolkit - 如何添加外部 .jar 包
【发布时间】:2011-06-07 00:16:51
【问题描述】:

我们如何在 Google Web Toolkit (GWT) 中添加外部 .jar 包?我已经按照步骤进行了

1) 在类路径中添加 .jar
2) 在我的 test.gwt.xml 中添加

我收到此错误:

加载继承的模块“org.scribe.model”
[错误] 无法在您的类路径中找到“org/scribe/model.gwt.xml”;可能是拼写错误,或者您忘记包含源的类路径条目?
[错误] 第 8 行:处理元素“继承”时出现意外异常

但是,我从许多来源中发现您需要源文件来编译客户端 gwt。我的问题是如果无法获得 .jar 包的源文件怎么办?解决方法是什么?

提前致谢。

【问题讨论】:

    标签: gwt jar package external


    【解决方案1】:

    没有解决方法。你需要源文件..至少你可以反编译类文件..

    【讨论】:

    • 那么任何不包含源的jar文件都不能在GWT中使用?
    【解决方案2】:

    如果它是一个 GWT 模块,它会与源代码一起打包。检查 jar Java 文件应该在其中。

    有两种方法可以在您的 GWT 应用程序中使用 3rd 方依赖项。

    • 它要么是一个GWT 模块,它已经包含一个模块xml 文件以及源文件。在这种情况下,您只需使用 inherits 引用它。
    • 或者它是一些常规的第 3 方依赖,在这种情况下,您需要源代码,并且您还必须使用包名称,因为 GWT 要求源代码位于 client 包下。即使您这样做了,因为该工件并未在 GWT 的脑海中开发,它很可能包含 GWT 不允许的代码,例如您不能在 GWT 中使用 Threads。

    【讨论】:

    • 我使用的包不是 GWT 模块。
    • 那你为什么把它当作GWT 模块来引用呢? <inherits name='org.scribe.model' /> 表示法表示它是一个 GWT 模块,它包含一个模块 xml (*.GWT.xml) 以及源文件。
    • 你是绝对正确的。我不应该。我们如何引用外部包?
    【解决方案3】:

    我的建议是在服务器端(在服务器包内)处理密集的逻辑

    在服务器端,您可以使用 GWT 前端不支持的类(客户端包中的类)。

    例如 当我尝试在客户端使用 BufferedReader 时,出现异常,然后将其移至服务器包并重新调整结果。对于在客户端代码中也不起作用的 RE 也是如此。

    让您的客户端代码尽可能简单。 希望这会有所帮助。

    干杯 铅

    【讨论】:

      猜你喜欢
      • 2011-03-15
      • 1970-01-01
      • 2023-03-17
      • 2021-10-24
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多