1

こんにちは、GWT eclipselink と hsqldp を使用するプロジェクトに取り組んでいますが、次のようになります。

[ERROR] [myproject]: No source code is available for type it.myproject.server.CreateEmployee; did you forget to inherit a required module?

eclipse gwt は、正しいインポートを行ったとしても、クラス CreateEmployee を見つけることができないようです..! これはコードです (CreateEmployee.java):

package it.myproject.server;
 import it.myproject.shared.entity.Employee;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;


public class CreateEmployee {
  public static void createNewEmployee() {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("ronfPU");
    EntityManager em = emf.createEntityManager();

    try {
        Employee e1= new Employee();
        e1.setUsername("admin");
        e1.setPassword("admin");
        em.persist(e1);
        em.getTransaction().commit();
    } finally {
        em.close();
    }
  }
 }

これはメイン ファイル myproject.java です。

package it.myproject.client;
import it.myproject.server.CreateEmployee;
import it.myproject.shared.entity.Employee;
import com.google.gwt.core.client.EntryPoint;
public class myproject implements EntryPoint {
  @Override
  public void onModuleLoad() {

    try{
        new CreateEmployee();
        CreateEmployee.createNewEmployee();

    } catch (Exception e) {
        Window.alert("creation of employees failed");
    }
 [....here 's some others useless codes..]
}

これらは私のソース パス (myproject.gwt.xml) です。

<!-- Specify the paths for translatable code -->
 <source path='client' />
 <source path='shared' />
4

1 に答える 1

1
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

クライアント gwt 標準ライブラリの一部ではありません。それを削除するか、gwt プロジェクトでライブラリを継承する必要があります (ただし、このようなライブラリはないと思います)。あなたCreateEmployeeのクラスは、クライアントではなく、純粋なサーバーロジックでなければなりません。

于 2013-07-10T09:22:02.710 に答える