Grails 2, run-war -> java.lang.ClassNotFoundException: grails.test.mixin.services.ServiceUnitTestMixin - PullRequest
0 голосов
/ 24 декабря 2011

Получил приложение Grails 2 и запустил приложение run-отлично работает, run-war терпит неудачу:

2011-12-24 12:43:40,996 [Thread-2] ERROR context.ContextLoader  - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Lgrails/test/mixin/services/ServiceUnitTestMixin;
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: Lgrails/test/mixin/services/ServiceUnitTestMixin;
    at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
    at java.lang.Class.getDeclaredField(Class.java:1880)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: grails.test.mixin.services.ServiceUnitTestMixin
    ... 7 more

Просто столкнитесь с этой проблемой после довольно безупречного опыта работы с Grails 2,

Как это произошло, для меня - это полное хедш-скрэтчер:

java.lang.NoClassDefFoundError: Lgrails/test/mixin/services/ServiceUnitTestMixin;

... любая обратная связь будет наиболее ценной.

Ответы [ 4 ]

3 голосов
/ 25 октября 2012

У меня была точно такая же проблема, и принятый ответ не работал для меня, поэтому я нырнул немного ближе ...

То, что я нашел, это класс MyServiceTests, которому каким-то образом удалось пробратьсяиз grails-app/test/unit/ в grails-app/services/;вероятно, во время какого-то пакета переименование пакета рефакторинга.После перемещения MyServiceTests обратно к тесту / устройству все снова заработало.

3 голосов
/ 03 февраля 2012

Я столкнулся с подобной проблемой и решил ее, выполнив следующие действия:

  1. Удалите все в целевом каталоге
  2. grails clean
  3. grails compile
  4. Grails Run-War
1 голос
/ 11 марта 2015

У меня была похожая ситуация с johanneslink.

Приложение не запустится в Tomcat. Проверка catalina.out показала исключение ClassNotFoundException, вызванное grails.test.mixin.services.ServiceUnitTestMixin

Я использовал grep для поиска всех вхождений ServiceUnitTestMixin во всей папке приложения (начиная с родительского элемента grails-app). Я обнаружил, что каким-то образом импортировал grails.test.mixin.Mock в контроллер.

Как только я удалил это, почистил / скомпилировал военный файл, который он развернул и запустил просто отлично.

1 голос
/ 20 августа 2013

Имя пакета контроллера должно соответствовать имени пакета класса домена.Убедитесь, что ваши имена пакетов совпадают по всему проекту, включая строчные и прописные буквы в имени пакета.Некоторые IDE не соответствуют обновлению случайных опечаток на протяжении всего проекта.

...