在GWT项目中继承外部java源代码

bra*_*nge 5 java gwt inheritance

我有一个在服务器端使用的ENUM.我希望能够在客户端(GWT)上使用这个枚举.

这是结构:

se.mycompany.core
se.mycompany.core.TheEnum <-- this Enum.

se.mycomapny.web.gwtproject <-- The GWT project.
se.mycomapny.web.gwtproject.client
Run Code Online (Sandbox Code Playgroud)

我试过补充一下

<inherits name="se.mycompany.core.TheEnum"/>
Run Code Online (Sandbox Code Playgroud)

到我的gwtproject.gwt.xml文件.但是我收到以下错误消息:

[错误]无法在类路径中找到"se/mycompany/core/TheEnum.gwt.xml"; 可能是一个错字,或者你忘了为源包含一个类路径条目?

我尝试使用以下上下文将文件TheEnum.gwt.xml添加到'se/mycompany/core /'.

<module>
  <inherits name='com.google.gwt.user.User'/>
  <source path="TheEnum"></source>
</module> 
Run Code Online (Sandbox Code Playgroud)

但它仍然抱怨同样的事情.

我猜我需要以某种方式将se.mycompany.core.TheEnum添加到build.xml中的类路径,但我不知道如何或在哪里.

Dav*_*que 6

"inherits"标签用于导入其他模块,而不是单个类.您可以通过在core包下创建一个简单的GWT模块来实现您想要的,然后在现有模块中继承该模块:

使用以下内容创建一个名为Core.gwt.xmlpackage 的文件se.mycompany.core:

<?xml version="1.0" encoding="UTF-8"?>
<module>
    <source path="" includes="TheEnum.java"/>    
</module>
Run Code Online (Sandbox Code Playgroud)

然后在您现有的模块中添加:

<inherits name='se.mycompany.core.Core'/>
Run Code Online (Sandbox Code Playgroud)