Maven не компилирует target / hibernate3 / generate-sources - PullRequest
1 голос
/ 27 мая 2010

Может кто-нибудь сказать мне, как настроить maven для него также для компиляции исходников из каталога target/hibernate3/generated-sources? Я уже прочитал этот и другие посты, но они, похоже, не решают мою проблему (которая действительно кажется тривиальной).

Я использовал конфигурацию спящего режима снизу вверх для генерации cfg.xml, hbm.xml и POJO (т.е. автоматически генерировал полную конфигурацию спящего режима из существующей схемы базы данных). Я также использую только стандартные макеты каталогов maven и hibernate3-plugin. Тем не менее, при выполнении mvn compile в командной строке, когда мои источники находятся в src/main/java, а сгенерированные источники в /target/hibernate3/generated-sources только те из src/main/java компилируются и копируются в target/classes. Я не хотел бы генерировать источники в src/main/java, так как я бы хотел mvn clean очистить их.

Я бы хотел решить проблему, используя только command-line, plugins и pom.xml. Есть ли способ настроить maven-compiler-plugin для этого? Или есть другой способ?

С уважением и благодарностью за любую помощь.

1 Ответ

4 голосов
/ 27 мая 2010

Соглашение состоит в том, чтобы генерировать код в target/generated-sources/<generator>, поэтому в вашем случае я бы генерировал источники в target/generated-sources/hibernate3 (печально, что плагин hibernate3 не следует этому соглашению по умолчанию). В любом случае, все должно работать, и на самом деле POM, который я разместил в , этот предыдущий ответ делает (я перезапустил мой пример проекта, и он определенно работает). Не могли бы вы стать жертвой MHIBERNATE-104 ? Честно говоря, я в замешательстве.

В качестве обходного пути вы можете использовать Build Helper Maven Plugin и его цель build-helper:add-source, чтобы добавить ваш каталог в качестве исходного каталога. Смотрите страницу конфигурации Использование .


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

Это должно быть причиной проблемы: если hibernate3:hbm2java не является частью жизненного цикла сборки, у него не будет возможности зарегистрировать выходной каталог как исходную папку. Так что Maven не знает об этом во время «нормальной сборки» и просто проигнорирует это.

...