5

サーバー側で使用される ENUM があります。この列挙型をクライアント側 (GWT) でも使用できるようにしたいと考えています。

これは構造です:

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

se.mycomapny.web.gwtproject <-- The GWT project.
se.mycomapny.web.gwtproject.client

追加してみました

<inherits name="se.mycompany.core.TheEnum"/>

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

しかし、それはまだ同じことについて不平を言っています。

どうにかしてse.mycompany.core.TheEnumをbuild.xmlのクラスパスに追加する必要があると思いますが、方法や場所がわかりません。

4

2 に答える 2

6

「inherits」タグは、個々のクラスではなく、他のモジュールをインポートするために使用されます。coreパッケージの下に単純なGWTモジュールを作成し、そのモジュールを既存のモジュールに継承することで、目的を達成できます。

次の内容Core.gwt.xmlでパッケージの下に呼び出されるファイルを作成します。se.mycompany.core

<?xml version="1.0" encoding="UTF-8"?>
<module>
    <source path="" includes="TheEnum.java"/>    
</module>

次に、既存のモジュールに以下を追加します。

<inherits name='se.mycompany.core.Core'/>
于 2012-10-02T15:18:38.523 に答える
0

クライアント パッケージ、つまり「se.mycomapny.web.gwtproject.client」に列挙型を追加することをお勧めします。サーバー側からは、この列挙型をクライアント パッケージから使用できます。

それでもサーバー側でのみ必要な場合は、パッケージ「se.mycompany.core.shared」を作成し、パッケージ「se.mycompany.core」にCore.gwt.xmlを作成します。

Core.gwt.xml:

<module>
<source path="shared"/>
</module>

ここで、パッケージ「se.mycompany.core.shared」に TheEnum.java を作成します。メインの gwt.xml ファイルで、以下の行に書き込みます。

<inherits name='se.mycompany.core.Core'/>
于 2012-10-03T13:36:01.267 に答える