Без XML @Configuration (без persistence.xml) и openjpa-maven-plugin
Попытка преобразовать мое приложение (spring + jpa) в аннотацию Spring на основе @Configuration и избавиться от контекста приложения Spring xml и persistence.xml. Все хорошо, кроме openjpa-maven-plugin 2.2.2, который я использую для улучшения класса времени сборки, не будет работать без файла persistence.xml, выдающего ошибку:
[ОШИБКА] Не удалось выполнить цель org.apache.openjpa:openjpa-maven-plugin:2.2.2: улучшение (средство улучшения) проекта myapp: средство выполнения цели org.apache.openjpa:openjpa-maven-plugin:2.2.2: расширение не удалось: MetaDataFactory не может быть настроен (conf.newMetaDataFactoryInstance() вернул null). Это может означать, что свойства конфигурации не найдены. Убедитесь, что у вас есть файл META-INF/persistence.xml, что он доступен в вашем classpath или файл свойств, который вы используете для конфигурации, доступен. Если вы используете Ant, посмотрите атрибуты или вложенного элемента задачи. Это также может произойти, если ваши файлы рассылки OpenJPA повреждены, или если ваша политика безопасности слишком строгая.
Конфигурация плагина:
<configuration>
<includes>**/business/model/*.class</includes>
<addDefaultConstructor>true</addDefaultConstructor>
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
</configuration>
Это работает, однако, с существующим persistence.xml, но не содержащим ничего, кроме пустых единиц постоянства (у меня их 3):
<persistence-unit name="pu1" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
<persistence-unit name="pu2" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
<persistence-unit name="pu3" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
Таким образом, единственная информация, которую openjpa-maven-plugin может извлечь из этого, - это имена модулей постоянства, если они даже действительно нужны.
Есть ли способ реализовать расширение класса openjpa во время сборки без файла persistence.xml?