2015-02-11 63 views
2

我正在使用獨立模塊的項目。 後端管理員客戶用戶和用於共享DAO層amongs 後端客戶
後端模塊使用GWT和客戶端使用Spring MVC。在後端模塊,核心模塊包含在deployment assembly。我的服務器端,DAO是由Spring注入的。
核心模塊中創建的所有豆類(POJO)。我的問題是我想使用核心模塊在我的gwt項目(後端模塊)或使用RPC調用時使用這些豆。
我試過How can share bean from external library to GWT client?問題的答案,但尚未滿足。我得到以下錯誤GWT:如何從單獨的模塊使用bean?

沒有源代碼可用於類型 com.mycom.core.business.bean.TestBean;提示:檢查你模塊中的 繼承鏈;它可能不是繼承了 所需的模塊或模塊可以不增加它的源路徑條目 正確

這是我efforted碼...

TestBean.java

public class TestBean { 
private int id; 

public final int getId() { 
    return id; 
} 

public final void setId(int id) { 
    this.id = id; 
} 
} 

beans.gwt.xml

<?xml version="1.0" encoding="UTF-8"?> 
<module> 
    <inherits name='com.google.gwt.user.User'/> 
    <source path="com.mycom.core.business.bean.TestBean"/> 
</module> 

將我的App.gwt.xml中的beans.gwt.xml繼承爲<inherits name='com.mycom.backend.beans'/>。我錯過了什麼?

編輯:添加樣本項目文件

現在我創建並上傳樣本模塊。您可以從google-drive URL下載它。該歸檔文件包含後端核心模塊。

  • 核心模塊是從Eclipse IDE中簡單的Java項目中創建。

  • 後端模塊通過GWT-ecliplse插件創建(2.7版本GWT和包括所生成的代碼)和添加動態Web模塊2.5項目面。

最後,我構建和GWT-Eclipse插件運行,你可以查看屏幕射擊爲

類路徑

enter image description here 來源查找路徑

enter image description here模塊

enter image description here 下面是錯誤日誌在我的控制檯

Super Dev Mode starting up 
workDir: /var/folders/mt/5287l4j94jd9rfqwqdqxr9zw0000gq/T/gwt-codeserver-7296341534601698800.tmp 
Loading Java files in com.mycom.backend.App. 
Ignored 1 unit with compilation errors in first pass. 
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors. 
Finding entry point classes 
    Tracing compile failure path for type 'com.mycom.backend.client.Backend' 
    [ERROR] Errors in 'file:/Applications/springsource/workspace/backend/src/com/mycom/backend/client/Backend.java' 
     [ERROR] Line 41: No source code is available for type com.mycom.core.business.bean.TestBean; did you forget to inherit a required module? 
    [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly 
[WARN] Server class 'com.google.gwt.dev.shell.jetty.JDBCUnloader' could not be found in the web app, but was found on the system classpath 
[WARN] Adding classpath entry 'file:/Users/cataclysm/Desktop/eclipse%20(Luna)/Datas/gwt-2.7.0/gwt-dev.jar' to the web app classpath for this session 
For additional info see: file:/Users/cataclysm/Desktop/eclipse%20(Luna)/Datas/gwt-2.7.0/doc/helpInfo/webAppClassPath.html 

回答

1

beans的模塊文件應位於core文件夾/庫中。 嘗試將其移動到core/src/com/mycom/beans.gwt.xml相應地修改源路徑:

<source path="core"/> 

記住,這是相對於模塊文件。

然後修改條目App.gwt.xml

<inherits name='com.mycom.beans'/> 

我不熟悉展開組件,但要確保在beans.gwt.xml存在於所產生的JAR庫(或與源一起復制)。

+0

你不知道我有多少向你表示感謝。非常感謝您的幫助。 – Cataclysm 2015-02-23 10:55:12

+0

很高興我能夠幫助 - 當我建立自己的項目時必須經歷相同的考驗,所以我知道它有多麻煩:) – 2015-02-23 11:08:58

2

核心模塊的源路徑應該是訪問的GWT編譯過程。確保它被添加到類路徑或源查找路徑中。

+0

正如我所描述的,我通過* deployment assembly *添加了我的*** *** ***模塊。所以這可以看到右鍵單擊***後端***模塊> Java構建路徑>項目,訂單和導出選項卡。我也添加了從Libraries選項卡的Class Folder到我的*** bean ***文件夾,但是錯誤仍然存​​在。 – Cataclysm 2015-02-13 03:17:27

+0

你究竟如何構建你的應用程序模塊? – 2015-02-13 06:34:13

+0

我使用GWT Eclipse插件構建並運行,而不是使用maven。 – Cataclysm 2015-02-13 07:24:30