2011-03-29 10 views
1

私はGWT 2.2、JPA、Java EE 6 Web、glassfish v3で作業しています。 RPC呼び出しでエンティティを使用すると、次のエラーが発生することがあります。「entity.User型のソースコードはありません。必要なモジュールを継承するのを忘れましたか?」GWT 2.2 + JPAの問題

私は問題を抱えていましたが、アノテーションがありましたが、 "クラスにJPA javax.persistence.Entity注釈が付いている"場合、GWT 2.0のバージョンが動作するはずです。

何が問題なのですか?

うん、私はここにすべてを書いていると思う。 >ここだけのサービスIMPL:ある

public class ECommunityServiceImpl extends RemoteServiceServlet implements ECommunityService { 
    @EJB 
    ECommunitySB bean; 

    @Override 
    public User loginService(String username) { 
     return bean.getUserByUsername(username); 
    } 
} 

-

org.ecommunity
org.ecommunity.client(およびorg.ecommunity.client.view)
org.ecommunity.server: は、私は以下のパッケージでGWTプロジェクトを持っています私のMain.gwt.xmlは次のようになります:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd"> 
<module> 
    <inherits name="com.google.gwt.user.User"/> 
    <inherits name='com.google.gwt.user.theme.standard.Standard'/> 
    <entry-point class="org.ecommunity.client.MainEntryPoint"/> 
    <source path="client"/> 
</module> 

そして私は以下のパッケージ: entity(ここで私Userエンティティ・クラスがある)とsessionbean(私のSessionBeanの付き)

と私は<source path='server' />を追加する場合の問題は、この新しいものと同じである:「インポートするjavax.ejbができません解決される。 EJBは、型に解決することはできません。」

+0

エンティティのソースがGWTコンパイラで使用できることは確かですか? – axtavt

答えて

1

EJBモジュールを削除して、セッションビーンとエンティティクラスをgwt projetに配置する必要があります。今は1つのプロジェクトしかありません。また、(注釈のために)クラスパスにEclipseLink(JPA 2.0)ライブラリを追加する必要があります。

+0

はい、そのように動作しています。ありがとう! – ngspkinga

0

私はあなたの{プロジェクト}でソースパスを欠落しているかもしれないと思う

<source path='yourpath' /> 

を.gwt.xml私はここで推測を取るよ、あなたの{プロジェクト言うことができます} .gwt.xmlが

org.ecommunity 

に位置していますおそらくWHで出回っいくつかのGWTのものでパッケージ

org.ecommunity.client 

ありat <source path='client' /> が含まれていますが、エンティティクラスはorg.ecommunity.server.entityにありますので、<source path='server' />の別のソースを入力する必要があります。私はサーバーの下にクライアントコードとは関係のないコードがたくさんあると思うので、エンティティをサーバーの下から例えばorg.ecommunity.entityに移動し、<source path='entity' />を追加する方が良いかもしれません。

+0

私はそれが問題だとは思わない。私はこれを持っています: ngspkinga

+0

私はいくつかのポイントを明確にするために私の答えを広げてくれました。 – Eelke

+0

Eelkeによると、私は通常、共通のクライアントとサーバーのコードをGWTにどこにあるかを<ソースパス= '共有' /> –