2013-07-10 2 views
1

Привет Я работаю над проектом с GWT EclipseLink и hsqldp, но я получаю это:GWT не может найти исходный код для моего класса

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

Похоже затмение 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..] 
} 

thoose мои источники путь (myproject.gwt.xml):

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

ответ

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

не является частью клиента GWT стандартной библиотеки. Вы должны удалить его или вам нужно наследовать библиотеку в вашем gwt-проекте (но я не думаю, что есть такая библиотека). Youre CreateEmployee Класс должен быть чистой логикой сервера, а не клиентом.

+0

Итак, вы думаете, что мне нужно удалить «import it.myproject.server.CreateEmployee;» в файле project.java, потому что эти файлы используют импорт 3-х сторон на стороне сервера? В этом случае, как я могу вызвать метод createNewEmployee() в myproject.java? – user2298581

+0

вы сами ответили: import it.myproject.server.CreateEmployee; включает в себя сервер пакетов. Никогда не создавайте класс сервера в клиентском пакете gwt. –

+0

благодарим вас за ответ, так как вы предлагаете вызвать метод сервера пакетов [CreateEmployee.createNewEmployee()]; в onmoduleload(), если я не могу импортировать файл «import it.myproject.server.CreateEmployee;»? – user2298581

Смежные вопросы