1

I'm currently building a Discord Bot with JDA and I'm trying to add a Database Connection with Hibernate. If I execute the Program inside IntelliJ it works without any errors. But after I compiled the Project and execute the jar file, I get this error: (My goal is to execute the bot in a docker container.)

Exception in thread "main" javax.persistence.PersistenceException: Unable to build entity manager factory
        at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:83)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
        at ch.ydavid.pizzabot.DAO.GuildConfigDAO.<init>(GuildConfigDAO.java:12)
        at ch.ydavid.pizzabot.manager.DynamicVoiceManager.<init>(DynamicVoiceManager.java:18)
        at ch.ydavid.pizzabot.manager.GeneralManager.<init>(GeneralManager.java:5)
        at ch.ydavid.pizzabot.Main.main(Main.java:32)
Caused by: org.hibernate.jpa.boot.archive.spi.ArchiveException: Could not build ClassFile
        at org.hibernate.jpa.boot.scan.spi.ClassFileArchiveEntryHandler.toClassFile(ClassFileArchiveEntryHandler.java:88)
        at org.hibernate.jpa.boot.scan.spi.ClassFileArchiveEntryHandler.handleEntry(ClassFileArchiveEntryHandler.java:65)
        at org.hibernate.jpa.boot.archive.internal.JarFileBasedArchiveDescriptor.visitArchive(JarFileBasedArchiveDescriptor.java:176)
        at org.hibernate.jpa.boot.scan.spi.AbstractScannerImpl.scan(AbstractScannerImpl.java:72)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.scan(EntityManagerFactoryBuilderImpl.java:723)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:219)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:51)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:182)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:131)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:88)
        at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:69)
        ... 6 more

I already checked the jar file for the javax.persistence dependency and the persistence.xml file. They are both provided in the Jar.

My source code is on GitHub. (add_jpa branch)

1 Answers1

0

Try to recreate the artifact by going on

File > Project Structure > Artifacts

then delete the current one and create a new one by going on

+ > Jar > From Modules With Dependencies

Add your main class then click OK and Apply. Then to build the artifact go on

File > Build > Build Artifacts > Build

If it doesn't work this way please add a comment/answer to this post

ohSavee
  • 1
  • 2