如何将外部Jar文件添加到GWT项目中

如何将外部Jar文件添加到GWT项目中,gwt,Gwt,我将使用jacob.jar。但问题是jacobjar文件没有xxx.gwt.xml文件。因此,我无法将其继承到我的项目xml文件中 如何解决这个问题?或者GWT不允许我们添加外部JAR文件?您可以使用外部JAR,如果我理解您的错误,您不需要将其插入xxx.GWT.xml文件。例如,我正在使用maven构建我的项目,外部jar在pom.xml中定义为依赖项。如果计划使用jar中包含的任何类,您将需要源代码或xxx.gwt.xml。不过,您可以在服务器端使用jar而不会出现问题。请参阅为jar类创建

我将使用jacob.jar。但问题是jacobjar文件没有xxx.gwt.xml文件。因此,我无法将其继承到我的项目xml文件中


如何解决这个问题?或者GWT不允许我们添加外部JAR文件?

您可以使用外部JAR,如果我理解您的错误,您不需要将其插入xxx.GWT.xml文件。例如,我正在使用maven构建我的项目,外部jar在pom.xml中定义为依赖项。

如果计划使用jar中包含的任何类,您将需要源代码或xxx.gwt.xml。不过,您可以在服务器端使用jar而不会出现问题。请参阅为jar类创建xxx.gwt.xml的示例。

如果要在服务器端代码(或gwt生成器)中使用库,则不必继承xxx.gwt.xml。如果要在客户端代码上使用库,还必须继承xxx.gwt.xml,如果库中没有此gwt xml文件,则可能无法使用gwt(它将不可编译gwt JS编译器)。 无论如何,如果需要,您可以创建自己的xxx.gwt.xml


Peter

下面是我的测试环境,我只需打开一个新的gwt项目并修改it服务器端代码。在此代码中添加了我: /** *RPC服务的服务器端实现。 */ @抑制警告(“串行”) 公共类GreetingServiceImpl扩展了RemoteServiceServlet实现 迎宾服务{

public String greetServer(String input) {
    ActiveXComponent xl = new ActiveXComponent("Excel.Application");
    Object xlo = xl.getObject();
编译后没有错误

但是当我在调试模式下运行时,在“ActiveXComponent xl=newActiveXComponent(“Excel.Application”);”之后

然后显示此错误消息: :“ava.lang.UnsatisfiedLinkError:java.library.path中没有jacob”

我的jar文件放在下面:
war\WEB-INF\lib\jacob.jar我没有解决这个问题。因为我发现另一个GWT库可以满足我的要求。 但我从GWT论坛得到了一个建议。我希望它能帮助你!请看下面:

大宗报价 您尝试使用的库是用于在java环境中运行的 VM,而不是浏览器的javascript引擎。您需要一个javascript 使用JSNI包装的库,或满足以下条件的java库 谷歌OpenIDGWT,你会看到人们是如何 我们已经能够在gwt中使用openid了

大宗报价 用于创建客户端浏览器代码的GWT java->javascript编译器 不会为您翻译任何任意Java库 仅限于模拟JavaJRE的一个子集,因此任何库都只能 使用JavaJRE功能的子集 java源代码,因此您希望在客户端使用的任何库 必须打包以包含其源代码。有很多库 人们已经打包在GWT客户端上使用,但实际上是这样的 使用GWT的打包标准和xml描述文件打包, 必须包含源代码,并使用JRE的受限子集。

瓜兹:

JACOB使用JNI来完成它的工作。因此JACOB的java类需要加载JACOB.dll。JACOB文档在(查找“下载”部分)中说明了这一点,它提到了dll


dll需要放在PATH变量引用的目录中。您还可以更改系统属性java.library.PATH的值。以下是在Eclipse中如何执行此操作。

最后,他需要源代码和一个gwt.xml。如果他只有源代码,他可以创建一个gwt.xml。