Некоторая справочная информация
Как указала предоставленная вами ссылка, EclipseLink, похоже, не поддерживает загрузку persistence.xml, когда EclipseLink jar встроен в jar вашего приложения.
Насколько я понимаю, стандартная ненастроенная Java не поддерживает исполняемые файлы jar, которые загружают классы из встроенных файлов jar. Исполняемый JAR-файл, который создает Eclipse, способен преодолеть это ограничение, добавив пользовательский загрузчик классов (org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
) в Jar-файл вашего приложения. Пользовательский загрузчик классов, по-видимому, является тем местом, где EclipseLink сталкивается с этой проблемой.
С учетом сказанного, в Eclipse Helios я обнаружил, что более удобно управлять «Копировать необходимые библиотеки в подпапку рядом с сгенерированным JAR», а не «Извлекать необходимые библиотеки в сгенерированный JAR».
При выборе опции копирования файл jar eclipselink остается нетронутым, в отличие от Eclipse, извлекающего различные файлы .class и загромождающего файл jar вашего приложения. Правда, ваше приложение больше не будет распространяться как один jar, но с точки зрения управляемости это выглядит лучше, чем опция extract-library.