2012-03-21 47 views
0

建立GWT項目,我有一個基於Maven的GWT項目(GWTApplication)包括兩個Java庫(也Maven的基) - 實體無法在NetBeans

實體的pom.xml:

<groupId>com.gfa.gwt</groupId> 
<artifactId>gwt-entity</artifactId> 
<packaging>jar</packaging> 
<version>0.1</version> 

元數據的pom.xml:

<groupId>com.gfa.gwt</groupId> 
<artifactId>gwt-metadata</artifactId> 
<packaging>jar</packaging> 
<version>0.1</version> 

主要項目的pom.xml:

<dependencies> 
<dependency> 
    <groupId>com.gfa.gwt</groupId> 
    <artifactId>gwt-metadata</artifactId> 
    <version>0.1</version> 
</dependency> 

<dependency> 
    <groupId>com.gfa.gwt</groupId> 
    <artifactId>gwt-entity</artifactId> 
    <version>0.1</version> 
</dependency> 
... 
</dependencies> 

當我嘗試編譯該項目(清潔並建立)輸出顯示錯誤:

編譯模塊test.application.Application新驗證 已編譯單元 第一遍忽略了42個編譯錯誤的單元。使用-strict編譯或使用-logLevel設置爲TRACE或DEBUG以查看所有 錯誤。查找入口點類 [錯誤]'文件中的錯誤:〜/ workspace/GwtApplication/src/main/java/test/application/client/ApplicationPoint.java' [錯誤]第97行:沒有源代碼可用於com .gfa.gwt.entity.shared.InstancesLookuper;你忘了繼承 所需的模塊嗎? [錯誤]第97行:沒有源代碼可用於com.gfa.gwt.metadata.client.MetaDataApi類型;你忘了繼承 所需的模塊嗎? [錯誤]無法找到類型'test.application.client.ApplicationPoint' [錯誤]提示:以前的編譯器錯誤可能導致此類型不可用 [錯誤]提示:檢查模塊的繼承鏈;它可能不會繼承所需的模塊或模塊可能不是 正確添加其源路徑條目線程中的異常 「UnitWriteThread」java.lang.RuntimeException:無法從字節 緩存中讀取緩存在 com.google.gwt.dev .util.DiskCache.transferToStream(DiskCache.java:196) at com.google.gwt.dev.util.DiskCacheToken.writeObject(DiskCacheToken.java:91) at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:601)在 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 在 java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) at com.google.gwt.dev.javac.PersistentUnitCache $ UnitWriter.run(PersistentUnitCache。java:226) 導致:java.io.IOException:流關閉在 java.io.RandomAccessFile.seek(本地方法)在 com.google.gwt.dev.util.DiskCache.transferToStream(DiskCache.java:182 ) ...... 14多個

當然我也繼承了* .gwt.xml文件,這些模塊:

<inherits name="com.gfa.gwt.metadata.MetaData"/> 
<inherits name="com.gfa.gwt.entity.Entity"/> 

在Eclipse這個項目編譯期間,沒有任何問題彙總,但在我的NetBeans看到這些錯誤。我錯過了什麼?

感謝您的任何幫助。

回答

2

您應該將java類包含到您的gwt-metadata jar文件中。添加到POM(GWT-元):

<build> 
     <resources> 
      <resource> 
       <directory>src/main/java</directory> 
       <includes> 
        <include>**/client/**</include> 
        <include>**/shared/**</include> 
        <include>**/*.gwt.xml</include> 
       </includes> 
      </resource> 
      <resource> 
       <directory>src/main/resources</directory> 
      </resource> 
     </resources> 
    </build> 

<plugins> 
<plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>gwt-maven-plugin</artifactId> 
       <executions> 
        <execution> 
         <phase>test</phase> 
         <goals> 
          <goal>resources</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
+0

感謝。我試過了你的第二個選擇,但它沒有奏效。首先工作正常。最後,爲什麼NetBeans沒有看到消息來源,並且Eclipse看到了它們? – ArtemStorozhuk 2012-03-21 13:39:40

+0

我使用eclipse/maven。所以我可以幫助你netbeans ... – 2012-03-21 14:00:54

+0

可以或不可以? :) – ArtemStorozhuk 2012-03-21 14:40:40