在GWT

2013-04-24 37 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,網絡等相關的類。