Сгенерируйте SQL-схему и скопируйте ее в WAR-файл: проблема с зависимостями плагинов - PullRequest
0 голосов
/ 11 мая 2011

Перед запуском интеграционных тестов мне нужно настроить базу данных. Это включает в себя создание SQL-схемы (на основе JPA-аннотаций), сохранение ее в файл и копирование ее с другими ресурсами в каталог, который позже будет использоваться для создания файла войны (который будет развернут в Jetty).

Итак, для генерации SQL-схемы я использую следующую конфигурацию hibernate3-maven-plugin: http://pastebin.ubuntu.com/606229/

Чтобы скопировать полученный hsql-scheme.sql из src/env/test/WEB-INF/classes в target/, где он будет упакован в WAR-файл, я использую следующее: http://pastebin.ubuntu.com/606230/

Но когда я запускаю mvn verify -P test (да, весь этот код внутри отдельного профиля), я получаю: http://pastebin.ubuntu.com/606231/

Как видите, hibernate3:hbm2ddl не генерирует никаких SQL-схем, и полученный файл пуст (в другом случае мы также увидим его на консоли). И это проблема.

Корень проблемы (как я понимаю) в том, что hibernate3:hbm2ddl invokes the execution of the lifecycle phase process-resources prior to executing itself.

Заранее спасибо!

1 Ответ

0 голосов
/ 14 мая 2011

Этот вопрос помог мне исправить создание схемы:

  • вызов hibernate3:hbm2ddl в фазе prepare-package вместо generate-resources

  • положить результат hibernate3:hbm2ddl непосредственно в target/${build.finalName}/WEB-INF/classes

Итак, теперь у меня все еще есть предупреждение hibernate3:hbm2ddl invokes the execution of the lifecycle phase process-resources prior to executing itself, но файл target/${build.finalName}/WEB-INF/classes/hsql-scheme.sql не пустой, как раньше.

...