我将使用jacob.jar。但问题是jacob jar文件没有xxx.gwt.xml文件。所以我无法将其继承到我的项目xml文件中。
如何解决此问题?或者GWT不允许我们添加外部JAR文件?
答案 0 :(得分:5)
我没有解决问题。因为我发现另一个GWT lib可以满足我的要求。 但我从GWT论坛得到了一个建议。我希望它可以帮助你!请看下面:
块引用 您尝试使用的库旨在在Java中运行 VM,而不是浏览器的javascript引擎。你需要一个JavaScript 用JSNI包装的库,或者满足它的java库 要求如下。谷歌openid gwt,你会看到人们有 能够使用openid with gwt。
块引用 GWT java-> javascript编译器用于创建客户端浏览器代码 不会为您翻译任何Java库。首先,它是 仅限于模拟java JRE的子集,因此任何库都可能只有 使用java JRE功能的子集。对于两个,它适用于 java源代码,所以你希望在客户端使用任何库 必须打包以包含其来源。有很多图书馆 人们已经打包在GWT客户端使用,但他们是 使用GWT的打包标准和xml描述文件打包, 必须包含源,并使用JRE的受限子集。 http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsCompatibility.html
答案 1 :(得分:3)
如果您计划使用jar中包含的任何类,则需要source或xxx.gwt.xml。但是,您可以在服务器端使用jar而不会出现问题。有关为jar类创建xxx.gwt.xml的示例,请参阅http://www.vogella.com/articles/GWTModules/article.html。
答案 2 :(得分:3)
如果要在服务器端代码(或GWT生成器)中使用库,则不必继承xxx.gwt.xml。如果你想在客户端代码上使用库,你还必须继承xxx.gwt.xml,如果库没有这个GWT xml文件,它可能不适用于GWT(它不会是可编译的gwt JS编译器)。 无论如何,如果你愿意,你可以创建自己的xxx.gwt.xml。
彼得
答案 3 :(得分:0)
下面是我的测试环境,我只需打开一个新的gwt项目并修改它的服务器端代码。我在这段代码中添加了: / ** * RPC服务的服务器端实现。 * / @SuppressWarnings( “串行”) 公共类GreetingServiceImpl扩展了RemoteServiceServlet实现 GreetingService {
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
答案 4 :(得分:0)
Guaz:
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中完成的。
答案 5 :(得分:-6)
您可以使用外部jar,如果我理解您是正确的,则无需将其插入xxx.gwt.xml文件中。例如 - 我正在使用maven构建我的项目,外部jar被定义为pom.xml中的依赖项。