2012-03-09 9 views
0

通常のGWTプロジェクトには、クライアントコードとサーバーコードがあります。私は、同じplayNプロジェクトに別々のクライアントコードとサーバーコードを書きたいと思っています。私の現在のプロジェクトをコンパイルすると、はGWTクライアントコードでサポートされていないので、モジュール、java.lang.Threadを見つけることができませんでした。私のプロジェクトでは、たくさんのサーバーコードを追加する必要があり、完全なJavaパッケージが必要です。playNプロジェクトにクライアントコードとサーバーコードを別々に書き込む方法は?

主な問題は、私は自分のライブラリにサーバーサイドコードがいっぱいであり、ライブラリを追加するとこの問題が発生するということです。

上記のようなエラーが発生しないように、クライアントコードとサーバーコードをどのように分けることができますか?クライアントコードとサーバーコードを分けることができる場合は、サーバーサイドコード専用にライブラリを追加する方法はありますか?

事前のおかげで..

答えて

0

私はPlayNを知らないが、GWTで、あなたの.gwt.xmlファイル内

<source path='client' /> 

を使用して、クライアント側用にコンパイルされるべきパスを定義します。モジュールファイルフォルダの下の他のパスは、サーバーサイドコードとしてコンパイルされます。

あなたの問題をより完全に理解するために、私はplayサンプルshowcaseをgit-clonedしてから、ファイル階層を調べました(GWTの部分は詳細です)。

showcase/ 
    android/ 
     ... 
    core/ 
     ... 
    flash/ 
     ... 
    html/ 
     src/ 
     main/ 
      java/ 
       playn/ 
        showcase/ 
        html/ 
         ShowcaseHtml.java 
        Showcase.gwt.xml 
      webapp/ 
       WEB-INF/ 
        web.xml 
       Showcase.html 
     pom.xml 
    ios/ 
    ... 
    java/ 
    ... 
    build.xml 
    pom.xml 

私たちが見ることができるように、我々持ってHTML/srcに/メイン/ javaの/ playn /ショーケース/ Showcase.gwt.xml HTMLと並んで側/ srcに/メイン/ javaの/ playn /ショーケース/ htmlフォルダー。ここで

はShowcase.gwt.xmlコンテンツです:

<module rename-to='showcase'> 
    <inherits name='playn.PlayN'/> 
    <!-- for the peas sample --> 
    <inherits name="org.jbox2d.GwtBox2D" /> 
    <!-- for the menu UI --> 
    <inherits name='tripleplay.TriplePlay'/> 
    <!-- for enhanced logging --> 
    <inherits name="playn.logging.Enhanced" /> 

    <source path='core'/> 
    <source path='html'/> 

    <public path="resources" /> 

    <entry-point class='playn.showcase.html.ShowcaseHtml'/> 
</module> 

だから、私の経験のためのようなコードでHTML/srcに/メイン/ javaの/ playn /ショーケース/ サーバーフォルダが中に存在する場合このコードを他のコードから参照しないようにするには、GWTコンパイラで回避する必要があります。その後、mavenを使用して、適切に宣言すればコンパイルできます。

+0

こんにちは、私はgwt.xmlファイルを持っています。私たちがやっていることは、すべての異なるパッケージのルートフォルダパスをとして追加することです。 > – Rockcollins

+0

には、1つのplayNプロジェクトのために、projectName、projectName-core、projectName-android、projectName-java、projectName-htmlのようなプロジェクトがあります。このprojectName.gwt.xmlはhtmlバージョンで作成します。 – Rockcollins

+0

私が理解しているように、を持つprojectName.gwt.xmlを含むprojectName-html/source path = "view" />指示文です。 projectName-html /にフォルダサーバーを作成し、サーバー側のコードを入れたらどうなりますか? (を全く追加しないで) – Nicocube

関連する問題