PersistenceException с Умлаут в пути - PullRequest
2 голосов
/ 29 марта 2011

Я столкнулся со странным поведением с настольным Java-приложением , которое использует Toplink Essentials в качестве поставщика сохраняемости.

У меня есть один каталог, содержащий все, что мне нужно для моего приложения: jar, папка lib и база данных JavaDB. Весь каталог является автономным (я скопировал его несколько раз без проблем, даже между разными компьютерами).

Сегодня я хотел скопировать еще раз, , но в моей целевой папке был немецкий Umlaut ü (html: ü).

Не удалось запустить мое приложение, за исключением , из-за которого было трудно найти причину (см. Ниже).

Конечно, я знаю старые соглашения об именах, но я думал, что мы уже оставили это позади. Поэтому мой вопрос: есть ли способ заставить его работать независимо от имен каталогов . Это важно, так как я хочу передать приложение клиентам и иметь небольшое влияние на установочные каталоги.

Система: Windows 7, JavaDB 10.5.3

Заранее спасибо за помощь!

SCHWERWIEGEND: Application class jlabps.JLabPSApp failed to launch
javax.persistence.PersistenceException: No Persistence provider for EntityManage
r named JLAPS_EMB:  The following providers:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Returned null to createEntityManagerFactory.

        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.
java:154)
        at jlabps.JLabPSView.initComponents(JLabPSView.java:401)
        at jlabps.JLabPSView.<init>(JLabPSView.java:47)
        at jlabps.JLabPSApp.startup(JLabPSApp.java:71)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.Error: Application class jlabps
.JLabPSApp failed to launch
        at org.jdesktop.application.Application$1.run(Application.java:177)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: javax.persistence.PersistenceException: No Persistence provider for E
ntityManager named JLAPS_EMB:  The following providers:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Returned null to createEntityManagerFactory.

        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.
java:154)
        at jlabps.JLabPSView.initComponents(JLabPSView.java:401)
        at jlabps.JLabPSView.<init>(JLabPSView.java:47)
        at jlabps.JLabPSApp.startup(JLabPSApp.java:71)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        ... 14 more

1 Ответ

2 голосов
/ 29 марта 2011

Одд. Какую JVM вы используете?

Убедитесь, что у вас установлено последнее исправление TopLink Essentials. Я помню проблему с пробелами, но не с Umlats.

Вы также можете попробовать обновить EclipseLink и посмотреть, возникает ли такая же проблема, если она есть, пожалуйста, зарегистрируйте ошибку.

...