2008-10-07 1 views
0

У меня есть UberJar со всеми моими классами java, но хочу выполнить эту банку с внешним файлом persistence.xml. Согласно спецификации, Hibernate (или любой другой поставщик JPA) ищет файл persistence.xml в любой папке META-INF, находящейся в пути к классам, но я не смог выполнить эту работу с UberJar. Есть идеи? Является ли загрузчик классов UberJar ограниченным содержимым файла jar?Могу ли я указать файл persistence.xml, совместимый с JPA, в командной строке java?

ответ

1

От варианта линии -jar команды:

«-jar» При использовании этой опции, файл JAR является источником всех пользовательских классов и другие настройки пути пользовательского класса являются игнорируется

Итак, это кажется прямым ответом.

Вы можете написать свой собственный загрузочный класс, который использует обычную как Java CLASSPATH (включая ваш persistence.xml), а затем грузиться UberJar, хотя вы, вероятно, с помощью UberJar, чтобы избежать этого ...

0

Чтобы следить за как я решил это, я добавил файл persistence.xml и мою jar в путь к классам, а затем задал основной класс. У меня также были классы, которые не были сохранены на моем пути, что заставило их переопределить настройки jar.

Смежные вопросы