【发布时间】:2011-01-23 00:32:54
【问题描述】:
我将使用 jacob.jar。但问题是 jacob jar 文件没有 xxx.gwt.xml 文件。所以我无法将它继承到我的项目 xml 文件中。
如何解决这个问题?还是 GWT 不允许我们添加外部 JAR 文件?
【问题讨论】:
标签: gwt
我将使用 jacob.jar。但问题是 jacob jar 文件没有 xxx.gwt.xml 文件。所以我无法将它继承到我的项目 xml 文件中。
如何解决这个问题?还是 GWT 不允许我们添加外部 JAR 文件?
【问题讨论】:
标签: gwt
我没有解决问题。因为我发现另一个 GWT 库可以满足我的要求。 但我从 GWT 论坛得到了一个建议。我希望它可以帮助你!请看下面:
块引用 您尝试使用的库旨在在 java 中运行 VM,而不是浏览器的 javascript 引擎。你需要一个javascript 用 JSNI 包装的库,或者满足 要求如下。谷歌openid gwt,你会看到人们如何 能够将 openid 与 gwt 一起使用。
块引用 用于创建客户端浏览器代码的 GWT java->javascript 编译器 不会为您翻译任何任意 Java 库。一方面,它是 仅限于模拟 java JRE 的子集,因此任何库只能 使用该 Java JRE 功能的子集。对于两个,它适用于 java 源代码,因此您希望在客户端使用的任何库 必须打包以包含其来源。有很多图书馆 人们已经打包在 GWT 客户端上使用,但它们是 使用 GWT 的打包标准和 xml 描述文件打包, 必须包含源,并使用 JRE 的受限子集。 http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsCompatibility.html
【讨论】:
如果您想在服务器端代码(或 GWT 生成器中)使用库,则不必继承 xxx.gwt.xml。如果你想在客户端代码上使用库,你还必须继承 xxx.gwt.xml,如果库没有这个 GWT xml 文件,它可能无法与 GWT 一起使用(它不是可编译的 gwt JS 编译器)。 无论如何,您可以根据需要创建自己的 xxx.gwt.xml。
彼得
【讨论】:
如果您打算使用 jar 中包含的任何类,您将需要源代码或 xxx.gwt.xml。不过,您可以在服务器端毫无问题地使用 jar。有关为 jar 类创建 xxx.gwt.xml 的示例,请参阅 http://www.vogella.com/articles/GWTModules/article.html。
【讨论】:
以下是我的测试环境,我只是简单地打开一个新的 gwt 项目并在其上修改服务器端代码。我被添加到这段代码中: /** * RPC 服务的服务器端实现。 */ @SuppressWarnings("串行") 公共类 GreetingServiceImpl 扩展 RemoteServiceServlet 实现 问候服务 {
public String greetServer(String input) {
ActiveXComponent xl = new ActiveXComponent("Excel.Application");
Object xlo = xl.getObject();
编译后没有错误。
但是当我在调试模式下运行时,在“ActiveXComponent xl = new ActiveXComponent("Excel.Application");”之后。
然后它显示此错误消息: :"ava.lang.UnsatisfiedLinkError: java.library.path 中没有 jacob"
我的 jar 文件放在: 战争\WEB-INF\lib\jacob.jar
【讨论】:
瓜兹:
JACOB 使用 JNI 来完成它的工作。所以JACOB的java类需要加载jacob.dll。 JACOB 文档在 http://danadler.com/jacob/ 中声明了这一点(查找“下载”部分),它提到了 dll。
dll 需要放置在 PATH 变量引用的目录中。您还可以更改系统属性 java.library.path 的值。 How to set the java.library.path from Eclipse 是在 Eclipse 中实现的方法。
【讨论】:
您可以使用外部 jar,如果我理解您正确,则无需将其插入 xxx.gwt.xml 文件中。例如 - 我正在使用 maven 构建我的项目,并且外部 jar 被定义为 pom.xml 中的依赖项。
【讨论】: