2011-01-14 21 views
7

Otrzymuję ten błąd, gdy próbuję użyć obiektu JPA utworzonego przez Roo.Jądro komponentu springjit nie jest poprawnie skonfigurowane

kierownik jednostki nie został wstrzyknięty (JAR Wiosna jest skonfigurowany jako Aspekty Aspekty/AJDT biblioteki AJC?)

Śledzę kilka porad online, aby dodać sprężynowy aspects.jar do Ścieżka aspektj w Eclipse, ale nadal otrzymuję ten błąd. Czy ktoś wie, jak rozwiązać ten problem?

Środowisko, którego używam, to Spring 3.0.5, Hibernate 3.6 i JBoss 6.0.0.Final.

+0

Czy używasz Mavena lub czy zarządzasz zależnościami ręcznie? – Ralph

+0

Używam Maven 2 – newguy

+0

Napotkałem ten sam problem. Używam mrówki (zamiast pom) do zbudowania projektu, czy może to być przyczyną problemu? –

Odpowiedz

0

Miałem ten sam problem i naprawiłem go, wykonując Spring Tools | Włącz narzędzia Spring Aspects Tooling w moim projekcie.

Moje klasy zostały wygenerowane przez Roo i wciśnięte (miałem zbyt dużo problemów z tym związanych), a ja po prostu dodałem je do zupełnie nowego projektu Google Web Application, który stworzyłem (więc używa układu aplikacji GAE z wojną i nic Maven za nic, przynajmniej jeszcze nie).

+0

Mam ten sam problem, a to rozwiązanie nie zrobiło nic. –

1

idź do STS konsola ROO (prawy przycisk myszy w projekcie STS, potem wiosna Narzędzia, a następnie otworzyć Wiosna Roo) Wpisz w wierszu wykonać czysty (wykona Maven czysty) Następnie wpisz wykonać zaćmienie

It powinno działać!

+0

Gdy próbuję tego, nie mogę wpisać podpowiedzi. Okno pokazuje "Roo installation" Roo 1.2.1.RELEASE "wskazuje na nieistniejącą ścieżkę" C: \ SpringSource \ spring-roo-1.2.1.RELEASE \ '. " –

1

Wygląda na to, że nie wprowadzono aplikacji Entity Manager.

webapps (możliwe przyczyny):

  • nie dodano podmiot fabrykę menedżera do applicationContext.xml

Aplikacje Java:

  • Ty nie zrobił dodaj fabrykę menedżerów encji do aplikacji applicationContext.xml
  • Niewłaściwy inicjalizacji aplikacji (patrz poniżej)

    public class SampleApp { 
        public static void main(String[] args) { 
         SampleApp obj = new SampleApp(); 
    
         // Injecting dependencies into application 
         ConfigurableApplicationContext applicationContext = 
           new ClassPathXmlApplicationContext("<PATH-TO>/applicationContext.xml"); 
         applicationContext.registerShutdownHook(); 
         applicationContext.getBeanFactory().autowireBeanProperties(
           obj, AutowireCapableBeanFactory.AUTOWIRE_NO, false); 
    
         // Do the work 
        } 
    } 
    
+0

Jak można sprawdzić plik applicationContext.xml, aby stwierdzić, czy fabryka menedżerów encji została poprawnie dodana? –

1

miałem ten problem zbyt, i znaleźć odpowiedź tutaj: http://whyjava.wordpress.com/2012/02/13/fixing-exception-entity-manager-has-not-been-injected-is-the-spring-aspects-jar-configured-as-an-ajcajdt-aspects-library/

W moim przypadku musiałem utworzyć plik o nazwie <classname>_Roo_Configurable.aj z o następującej treści:

privileged aspect <classname>_Roo_Configurable { declare @type: <classname>: @Configurable; }

T wyjaśnił, dlaczego istniejące klasy działały, ale nowe, które stworzyłem, nie działały. Plik _Configurable.aj nie pojawił się (i nadal nie) w eksploratorze pakietów w STS.

(wiem, to odpowiedź jest bardzo późno, ale mam nadzieję, że to pomaga kogoś innego!)

0

Musisz utworzyć repozytorium dla domeny wskazania.

W roo-końcowy uruchomić skrypt Śledź

ES.

repository jpa --interface ~.dao.MyDomainDAO --entity ~.domain.MyDomain 
Powiązane problemy