我有一个基于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中我看到了这些错误。我错过了什么吗?
感谢您的帮助。
答案 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>