2011-01-14 3 views
7

Я получаю эту ошибку, когда пытаюсь использовать объект JPA, созданный Roo.Spring aspectj jar не настроен правильно

Entity менеджер не был введен (это пружинные аспекты JAR сконфигурирован как библиотека/AJDT аспекты AJC?)

Я следовал некоторые онлайн консультации, чтобы добавить пружинный aspects.jar к pathj в Eclipse, но я все еще получаю эту ошибку. Кто-нибудь знает, как это решить?

Окружающая среда, которую я использую, - это Spring 3.0.5, Hibernate 3.6 и JBoss 6.0.0.Final.

+0

Вы используете Maven или управляете зависимостями вручную? – Ralph

+0

Я использую Maven 2 – newguy

+0

Я столкнулся с той же проблемой. Я использую ant (вместо pom) для создания проекта, может ли это быть основной причиной проблемы? –

ответ

0

У меня была эта же проблема и исправлено это с помощью Spring Tools | Включите инструмент Spring Aspects Tooling в моем проекте.

Мои классы были созданы Roo и нажали (у меня было слишком много проблем с ним), и я просто добавил их к совершенно новому проекту веб-приложений Google, который я создал (поэтому он использует макет приложения GAE с войной каталог, и ни один Maven для чего-либо, по крайней мере пока нет).

+0

У меня такая же проблема, и это решение ничего не делало. –

1

Перейти к STS РОО консоли (щелкните правой кнопкой мыши в проекте в STS, затем Spring Tools, затем Open Spring Roo) Введите в командной строке выполнить очистку (будет выполнять Maven чистый) Затем введите выполнить затмение

It должно сработать!

+0

Когда я пытаюсь это сделать, я не могу ввести подсказку. В окне отображается «Roo installation» Roo 1.2.1.RELEASE 'указывает на несуществующий путь' C: \ SpringSource \ spring-roo-1.2.1.RELEASE \ '. " –

1

Похоже, вы не вводили Entity Manager.

Webapps (возможные причины):

  • Вы не добавили лица менеджера завода к вашему applicationContext.xml

приложений Java:

  • Вы Бесполезный 'Добавьте фабрику управления сущностями в свой applicationContext.xml
  • Неправильный инициализации приложения (смотрите ниже)

    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

Как проверить applicationContext.xml, чтобы определить, была ли добавлена ​​фабрика управления сущностями? –

1

Я тоже была эта проблема, и нашел ответ здесь: 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/

В моем случае, мне нужно создать файл с именем <classname>_Roo_Configurable.aj с следующее содержание:

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

Т его объяснили, почему работают существующие классы, но новые, которые я создал, не сделали. Файл _Configurable.aj не отображался (и все еще не отображается) в проводнике пакетов в STS.

(я знаю, что этот ответ невероятно поздно, но я надеюсь, что это помогает кому-то другому!)

0

Вы должны создать хранилище для указания домена.

В РОО-терминал запуска последующей деятельности скрипт

эс.

repository jpa --interface ~.dao.MyDomainDAO --entity ~.domain.MyDomain 
Смежные вопросы