You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm getting the following exception when trying to create an entity manager when running an app using module path, instead of using classpath:
Exception in thread "main" jakarta.persistence.PersistenceException: java.lang.NullPointerException
at org.eclipse.persistence.jpa@4.0.0-M3/org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:861)
at org.eclipse.persistence.jpa@4.0.0-M3/org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:221)
at org.eclipse.persistence.jpa@4.0.0-M3/org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:328)
at org.eclipse.persistence.jpa@4.0.0-M3/org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:343)
at org.eclipse.persistence.jpa@4.0.0-M3/org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:306)
at com.example.modpathtest@1.0.0-SNAPSHOT/com.example.modpathtest.Main.main(Main.java:10)
Caused by: java.lang.NullPointerException
at java.base/java.io.Reader.<init>(Reader.java:168)
at java.base/java.io.InputStreamReader.<init>(InputStreamReader.java:76)
at org.eclipse.persistence.core@4.0.0-M3/org.eclipse.persistence.internal.helper.DBPlatformHelper.load(DBPlatformHelper.java:163)
at org.eclipse.persistence.core@4.0.0-M3/org.eclipse.persistence.internal.helper.DBPlatformHelper.loadFromResource(DBPlatformHelper.java:145)
at org.eclipse.persistence.core@4.0.0-M3/org.eclipse.persistence.internal.helper.DBPlatformHelper.initializeNameToVendorPlatform(DBPlatformHelper.java:90)
at org.eclipse.persistence.core@4.0.0-M3/org.eclipse.persistence.internal.helper.DBPlatformHelper.getDBPlatform(DBPlatformHelper.java:61)
at org.eclipse.persistence.core@4.0.0-M3/org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:265)
at org.eclipse.persistence.core@4.0.0-M3/org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:808)
at org.eclipse.persistence.jpa@4.0.0-M3/org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:259)
at org.eclipse.persistence.jpa@4.0.0-M3/org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:772)
Here is a test app, which can be run with 'mvn exec:exec':
I think the problem is that DBPlatformHelper is trying to read 'org/eclipse/persistence/internal/helper/VendorNameToPlatformMapping.properties' using ClassLoader.getResourceAsStream but since package 'org.eclipse.persistence.internal.helper' is not opened unconditionally, getResourceAsStream returns null.
From getResourceAsStream javadoc:
"... this method will only find resources in packages of named modules when the package is opened unconditionally."
I guess, a quick fix for this would be to add:
opens org.eclipse.persistence.internal.helper;
to org.eclipse.persistence.core's module-info.java
The text was updated successfully, but these errors were encountered:
I'm getting the following exception when trying to create an entity manager when running an app using module path, instead of using classpath:
Here is a test app, which can be run with 'mvn exec:exec':
eclipselink-module-path-test.zip
I think the problem is that DBPlatformHelper is trying to read 'org/eclipse/persistence/internal/helper/VendorNameToPlatformMapping.properties' using ClassLoader.getResourceAsStream but since package 'org.eclipse.persistence.internal.helper' is not opened unconditionally, getResourceAsStream returns null.
From getResourceAsStream javadoc:
"... this method will only find resources in packages of named modules when the package is opened unconditionally."
I guess, a quick fix for this would be to add:
opens org.eclipse.persistence.internal.helper;
to org.eclipse.persistence.core's module-info.java
The text was updated successfully, but these errors were encountered: