无法在NetBeans中构建GWT项目

时间:2012-03-21 11:52:21

标签: java eclipse gwt maven netbeans

我有一个基于maven的GWT项目(GWTApplication),它包含两个java库(也是基于maven的) - entity metadata

实体的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以查看全部   错误。查找入口点类         [ERROR]'file:〜/ 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)     在   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)at   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)     在   java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)     在   java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)     在   com.google.gwt.dev.javac.PersistentUnitCache $ UnitWriter.run(PersistentUnitCache.java:226)   引起:java.io.IOException:Stream关闭于   java.io.RandomAccessFile.seek(Native Method)at   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中我看到了这些错误。我错过了什么吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您应该将java类包含在gwt-metadata jar文件中。添加到pom(gwt-metadata):

<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>