разные версии банки в classpath - PullRequest
1 голос
/ 26 января 2012

Здравствуйте, это следующая проблема для следующего вопроса .

Я создаю плагин Grails в качестве оболочки для сложного продукта. Этот продукт имеет много зависимостей от других продуктов, таких как спящий режим. Проблема в том, что у grails есть одни и те же зависимости, но с разными версиями. Например. Grails -> hibernate 3.6.7 другой продукт -> hibernate 3.5.6

Я изменил BuildConfig.groovy, как описано в решении:

dependencies {
    // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
    runtime ('org.ow2.bonita:bonita-server:5.6.1') {
        excludes "slf4j-jdk14"
    }
}

Grails восстановил все зависимости и загрузил все необходимые файлы jar в локальный репозиторий. STS может разрешить все классы из зависимостей. В run-app есть проблема с hibernate:

Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.util.SoftLimitMRUCache.<init>(I)V

Я полагаю, что ошибка возникает из-за нескольких файлов спящего режима в пути к классам. Как это решить?

Спасибо за аванс!

1 Ответ

1 голос
/ 30 января 2012

Вы проверили точное руководство?

http://grails.org/doc/1.3.x/guide/3.%20Configuration.html#3.7.7%20Plugin%20JAR%20Dependencies

Похоже, вам нужна более старая версия hibernate в вашем проекте. Поэтому я думаю, что решение может быть

  • создать плагин проекта
  • удалить плагин hibernate
  • добавьте файлы JAR в ваш проект
  • настроить jibernate jars export=false, как описано в документации (см. Ссылку выше)
...