6

複数の gwt モジュールを含む gwt maven プロジェクトを作成したいと考えています。それらのいくつかは単なるユーティリティモジュールであるため、エントリポイントがありません。基本的に、複数の gwt モジュールを含む gwt プロジェクトが既にあり、それを maven に変換しましたが、コンパイル中に次の例外が発生します。

[エラー] タイプ 'in.appops.showcase.web.gwt.uploadservice.client.UploadService' が見つかりません [情報] [エラー] ヒント: 以前のコンパイラ エラーにより、このタイプが使用できなくなった可能性があります [情報] [エラー] ヒント: 確認してくださいモジュールからの継承チェーン。必要なモジュールを継承していないか、モジュールがソース パス エントリを適切に追加していない可能性があります

私のプロジェクトには、エントリ ポイントのないユーティリティ モジュールである core および dispath モジュールと、コア モジュールを継承するエントリ ポイントを持つ他の uploadservice モジュールがあります。

だから私はcore.gwt.xml、dispatch.get.xmlをパッケージ、つまりsrc/main/java自体に入れ、uploadservice.gwt.xmlをmavenのリソースフォルダーに入れました。また、pom.xml で、コンパイルするモジュールを提供しています。

<configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>gwt-maven-plugin</artifactId>
                                    <version>2.4.0</version>
                                    <goals>
                                        <goal>clean</goal>
                                        <goal>resources</goal>
                                        <goal>compile</goal>
                                        <goal>i18n</goal>
                                        <goal>generateAsync</goal>
                                    </goals>
                                    <configuration>
                                        <runTarget>Index.html</runTarget>
                                        <hostedWebapp>${webappDirectory}</hostedWebapp>
                                         <modules>
                                            <!-- <module>platform.bindings.web.gwt.dispatch.Dispatch</module>
                                             <module>platform.core.Core</module>   -->
                                            <module>showcase.web.gwt.addressbook.AddressBook</module>
                                            <module>showcase.web.gwt.uploadservice.UploadService</module>
                                        </modules> 
                                    </configuration>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>

この例外から抜け出すのを手伝ってくれる人はいますか。モジュールなどをコンパイルする順序を指定する必要がありますか?

4

3 に答える 3

4

注1 - gwt標準アプローチを使用する場合、フォルダー構造

    src/main/java/showcase/web/gwt/yourmodule/yourmodule.gwt.xml
    src/main/java/showcase/web/gwt/yourmodule/client 
    src/main/java/showcase/web/gwt/yourmodule/public 

Your pom references 
    <module>showcase.web.gwt.addressbook.AddressBook</module>
    <module>showcase.web.gwt.uploadservice.UploadService</module>

Your .gwt.xml file location
    src/main/java/showcase/web/gwt/addressbook/AddressBook.gwt.xml
    src/main/java/showcase/web/gwt/uploadservice/UploadService.gwt.xml

注 2 - <lifecycleMappingMetadata>m2e = maven eclipse プラグイン用です。GWT MAVEN POM の例の明確な例 - http://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/validation/pom.xml

注 3 - gwt maven サンプル プロジェクトの非常に単純な例に正確に従います - http://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/validation/

フォルダの場所を変更しないでください。*命名規則に従ってください。* public、client などのフォルダ名でさえ、GWT では「名前」で選択されます。

于 2013-01-08T18:16:06.560 に答える
1

エントリ ポイントの読み込み時にこのエラーが発生した場合は、*.gwt.xml ファイルのタグを変更する必要がある場合があります。

パッケージ構造を変更した後、「モジュールからの継承チェーンを確認してください。必要なモジュールを継承していないか、モジュールがソース パス エントリを適切に追加していない可能性があります」というエラーを正常に修正できました。

  • .gwt.xml ファイルで、ファイルの下部近くにあるソース タグを見つけます。
  • 以前の作業コミットに戻すか、既知の作業プロジェクトを開く
  • 作業中のプロジェクトのパッケージ構造に関連して、作業中のソース タグが従うパターンに注意してください。
  • 壊れたコミットまでロールフォワードする
  • 同じパターンに従って、現在のパッケージ構造に対応するようにソース タグを変更します。


さらに、.gwt.xml ファイルに適切な継承タグがあることを確認する必要があります。たとえば、タグ inherits name="com.smartgwt.SmartGWt" なしで SmartGWT を使用しようとすると、同様のエラーが発生します。

于 2013-08-08T20:02:32.160 に答える
0

ファイルUploadService.gwt.xmlは にあるはずですsrc/main/resources/in/appops/showcase/web/gwt/uploadservice。その他の GWT モジュール記述子も、それらのパッケージに含める必要があります。

于 2013-01-08T15:30:28.080 に答える