我在我的应用程序中使用gwt2.0.3版本。这个应用程序中有两个项目。一个用于客户端,另一个用于服务器端。在客户端项目中,我已经提供了服务器端项目的参考。所以我是能够将服务器端的所有方法和属性都输入到客户端。
我所有的bean都位于服务器端。所以当我在客户端导入bean时,它没有任何问题。
但是在编译时它提出了引用问题。它给出了如下问题:
[ERROR] 'file:/ E:/NTWrokSpace1June2011/AdminClient/src/com/nextenders/client/util/factory/DocumentMetadataFactory.java'中的错误
[错误]第26行:没有源代码可用于类型com.nextenders.facadeimplementation.beans.metadata.Table;你忘了继承一个必需的模块吗?
大家好 我在我的应用程序中使用gwt2.0.3版本。在这个应用程序中有两个项目。一个用于客户端,另一个用于服务器端。在客户端项目中我给出了服务器端项目的参考。所以我能够得到服务器端的所有方法和属性都在客户端。
我所有的bean都位于服务器端。所以当我在客户端导入bean时,它没有任何问题。
但是在编译时它提出了引用问题。它给出了如下问题:
[ERROR] 'file:/ E:/NTWrokSpace1June2011/AdminClient/src/com/nextenders/client/util/factory/DocumentMetadataFactory.java'中的错误
[错误]第26行:没有源代码可用于类型com.nextenders.facadeimplementation.beans.metadata.Table;你忘了继承一个必需的模块吗?
这里AdminClient是我的客户项目。
服务器端的com.nextenders.facadeimplementation.beans.metadata包。在类中导入时,它不会给出任何问题。
但编译时它会给出问题。
请帮助我。
答案 0 :(得分:1)
错误消息表明该类
com.nextenders.facadeimplementation.beans.metadata.Table;
引用(导入)gwt无法编译为javascript的一个或多个java类。
答案 1 :(得分:1)
通常的做法是将项目分成三个包:server
,client
和shared
。
在client
中,您将GWT代码放在server
中,显然是服务器代码。在shared
中,您放置了属于客户端和服务器的代码:最值得注意的是通过RPC的类。
你必须告诉GWT你的来源。您必须在.gwt.xml中引用这两个(如果您的gwt.xml文件位于客户端上方且已共享):
<source path='client'/>
<source path='shared'/>
答案 2 :(得分:1)
我怀疑您的部分问题出在您的模块定义中。 GWT编译器将查看您在模块文件中定义的源路径,以确定尝试编译为Javascript的类。您可能从客户端代码引用了Table类,但该模块xml文件中指定的任何源路径中都不存在该bean。
将bean放在一个单独的项目中可能会导致问题,但我自己没有测试过。模块文件中指定的源路径是相对路径而不是我认为的包路径,所以它可能根本不起作用。
答案 3 :(得分:0)
如果您使用Maven,它会对您有所帮助。
带参数maven-gwt-plugin的compileSourcesArtifacts将下载-sources.jar
并编译GWT模块,而不向生成的jar添加源。
示例pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<dependencies>
<dependency>
<groupId>com.my.group</groupId>
<artifactId>my-artifact</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.5.0</version>
<!-- ... -->
<configuration>
<compileSourcesArtifacts>
<compileSourcesArtifact>com.my.group:my-artifact</compileSourcesArtifact>
</compileSourcesArtifacts>
</configuration>
</plugin>
</plugins>
</build>
</project>