EntryPointなしでモジュールをコンパイルするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1808197

  •  05-07-2019
  •  | 
  •  

質問

UIを持たないGWTのユーティリティモジュールがあります(したがって、 com.google.gwt.core.client.EntryPoint を継承するクラスはありません。このモジュールをGWT 1.7.1でコンパイルすると、次のエラーが表示されます:

[ERROR] Module has no entry points defined

このエラーを取り除くにはどうすればよいですか?ダミーのエントリポイントを本当に定義する必要がありますか? Googleはどのようにして独自のユーティリティモジュールをコンパイルしましたか?

役に立ちましたか?

解決 3

gwt-maven-plugin Maven2プラグインを使用してコードをコンパイルしています。古いバージョンの maven-googlewebtoolkit2-plugin プラグインからコードを移行しました。古いプラグインの場合、どのモジュールがエントリポイントであるかを指定する必要がありました。

                <compileTargets>
                    <param>com.project.module.Module</param>
                </compileTargets>

新しいプラグインの場合、

                <module>com.project.module.Module</module>

プラグインはコンパイルするモジュールを見つけることができなかったため、&quot; *。gwt.xml&quot;を検索します。それらをすべて「UIモジュール」にコンパイルしました。 (エントリポイントが必要です)。

他のヒント

ユーティリティジャーはGWTでコンパイルする必要はありません。

これを他のGWTアプリケーションのライブラリとして再利用する場合は、1つのjarで.classおよび.javaファイルをjarし、クライアントソースがどこにあるかを示す.gwt.xmlがあることを確認するだけです。です。慣例(クライアントのクライアントクラス)に従うと、クライアントパッケージのタグを指定する必要があります。

次に、エントリポイントをコンパイルするプロジェクトでこの.gwt.xmlを継承していることを確認します。

いいえ、EntryPointは必要ありません。モジュールのないモジュールの例を次に示します:

<?xml version="1.0" encoding="UTF-8"?>
<module>
    <source path="grid" />
    <inherits name="com.google.gwt.user.User"/>
</module>

簡単な答えは、モジュールでコードをコンパイルしないことです。 GWTはそれらをソースコードとして必要とします。メインモジュール(エントリポイントを持つモジュール)をコンパイルすると、.gwt.xmlファイルで継承した他のモジュールのソースを使用して、プロジェクト全体をコンパイルします。

&amp;を構築するユーティリティモジュールがあります。いくつかの一般的なUI要素とjavascript / jsonの一般的なタスクを処理します。

(totspプラグインからcodehausプラグインに行に沿って移行された)私たちがしたことは、utilモジュールにエントリポイントを含めることでした。それはただ空でした。 (コメント「意図的なノーオペレーション」が含まれています)。

その後、pomは依存関係として事物を参照します。

eclipse GWTプラグインを使用している場合は、コンパイルの直前にポップアップするモジュールリストからEntryPointのないモジュールを削除するだけです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top