在GWT

2013-04-24 40 views
1
没有可用的源代码,抄写

我得到这个错误试图编译我的GWT项目:在GWT

No source code is available for type org.scribe.oauth.OAuthService; did you forget to inherit a required module? 

我已经包含在我的文士.jar文件“战争/ WEB-INF/lib目录”并导入它。也许我必须将它添加到app_name.gwt.xml中?我试图做到这一点,但Scribe不包含任何.gwt.xml文件。

回答

0

我用Scribe没有问题。但它是一个服务器端库。你的GWT代码中不应该引用它。

+0

这是我的解决方案。我创建了一个单例以便通过使用servlet的客户端 - 服务器通信访问Scribe。 – 2013-04-29 20:42:08

0

您必须拥有Scribe的Java源代码才能让GWT编译器编译它(将其转换为javascript)。如果可用,则可以将其添加到源树中,并指定它在gwt.xml文档中是“继承的”。

当然,请检查Google的GWT论坛是否有任何更新。我知道他们正在努力解决这个问题。

我刚查过,Google有OAuth作为GWT的扩展。这是你最好的解决方案。看看这里:

code.google.com/p/gwt-oauth2/

+0

谢谢,但我正在做OAuth1.0a,而不是OAuth2,并且没有兼容性。正如我所说的,Scribe中没有.gwt.xml文件,所以src连接不起作用。 – 2013-04-24 21:44:48

+0

不,gwt.xml文件是您的GWT应用程序的一部分,而不是Scribe。您需要将源代码添加到项目中的源代码树中,然后输入此文件以让GWT编译器知道此源代码应该由GWT编译器编译(用JavaScript编译)。 – CBass 2013-04-24 21:51:02

+0

任何你想在GWT中使用的库都必须有一个'.gwt.xml'文件,描述哪些包可以被编译成JavaScript(等等)。如果该文件不存在,那么可以自己创建该文件,但如果该库使用在浏览器中不工作的类(任何文件IO,大多数网络等),则这将不起作用。 – 2013-04-25 04:36:58

1

在GWT您仅限因为不可能所有的java类转换为JavaScript才能使用一些Java类。您可以在此链接中找到允许的类的列表:List of Classes

由于兼容性原因,不可能使用与线程,IO,网络等相关的类。