2

アプリケーションでgwt2.0.3バージョンを使用しています。このアプリケーションには2つのプロジェクトがあります。1つはクライアント側用で、もう1つはサーバー側用です。クライアント側プロジェクトでは、サーバー側プロジェクトを参照しています。サーバー側からクライアント側へのすべてのメソッドとプロパティ。

私のすべてのBeanはサーバー側にあるので、クライアント側でBeanをインポートしている間は、問題は発生しません。

しかし、コンパイル時に参照の問題が発生し、次のような問題が発生します。

[エラー]'file:/ E:/NTWrokSpace1June2011/AdminClient/src/com/nextenders/client/util/factory/DocumentMetadataFactory.java'のエラー

[エラー]26行目:com.nextenders.facadeimplementation.beans.metadata.Tableタイプのソースコードはありません。必要なモジュールを継承するのを忘れましたか?

こんにちはすべて私は私のアプリケーションでgwt2.0.3バージョンを使用しています。このアプリケーションには2つのプロジェクトがあります。1つはクライアント側用で、もう1つはサーバー側用です。クライアント側プロジェクトではサーバー側プロジェクトを参照しています。サーバー側のすべてのメソッドとプロパティをクライアント側に取得します。

私のすべてのBeanはサーバー側にあるので、クライアント側でBeanをインポートしている間は、問題は発生しません。

しかし、コンパイル時に参照の問題が発生し、次のような問題が発生します。

[エラー]'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パッケージ。クラスにインポートしている間は、問題は発生しません。

しかし、コンパイル時に問題が発生します。

これから私を助けてください。

4

4 に答える 4

1

エラーメッセージは、クラスが

com.nextenders.facadeimplementation.beans.metadata.Table;

gwtによってjavascriptにコンパイルできない1つ以上のJavaクラスを参照(インポート)します。

于 2011-06-29T13:27:00.333 に答える
1

server通常の方法は、プロジェクトを3つのパッケージ( 、、clientおよび)に分割することですshared

あなたは明らかにサーバーコードclientにGWTコードを入れます。serverクライアントとサーバーの両方に属するコードを配置しsharedます。特に、RPCを渡すクラスです。

その場合、ソースがどこにあるかをGWTに伝える必要があります。.gwt.xmlでこれら2つを参照する必要があります(gwt.xmlファイルがクライアントのすぐ上のフォルダーにあり、共有されている場合)。

<source path='client'/>
<source path='shared'/>
于 2011-06-29T13:44:53.453 に答える
1

問題の一部がモジュール定義にあると思われます。GWTコンパイラは、モジュールファイルで定義したソースパスを調べて、Javascriptへのコンパイルを試みるクラスを決定します。クライアントコードからTableクラスを参照している可能性がありますが、そのBeanは、モジュールxmlファイルで指定されているソースパスのいずれにも存在しません。

別のプロジェクトにBeanがあると問題が発生する可能性がありますが、私はそれを自分でテストしていません。モジュールファイルで指定されているソースパスは、私が信じているパッケージパスではなく相対パスであるため、まったく機能しない可能性があります。

于 2011-06-29T13:46:45.063 に答える
0

Mavenを使用する場合は、それが役立ちます。

パラメーターcompileSourcesArtifactsを指定したmaven-gwt-pluginは、結果のjarにソースを追加せずに、GWTモジュールをダウンロードしてコンパイルします。-sources.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>
于 2013-02-23T11:22:49.437 に答える