Могу ли я указать JPA-файл persistence.xml в командной строке Java? - PullRequest
0 голосов
/ 07 октября 2008

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

Ответы [ 2 ]

1 голос
/ 08 октября 2008

Из опции командной строки -jar :

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

Итак, кажется, что прямой ответ - нет.

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

0 голосов
/ 09 октября 2008

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

...