There is a Spring Boot application and in the IDE it works fine and runs.

But if you pack it in .jar and run it, the application crashes:

org.springframework.beans.factory.BeanCreationException: If you have defined an entityManagerFactory defined in class path resource [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.jpa.boot.archive.spi.ArchiveException: Could not build Classphile at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBean AntiCentanEactFactory.initializeBean (AbstractAutowireCapableBean AntiCentanEactFactory.initializeBean). at org.springframe.de ~ [classes! /: na] at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:306) ~ [classes! /: na] at org.springframework.beans.factory.support.DefaultSingletonBeanegorean .getSingleton (DefaultSingletonBeanRegistry.java:230) ~ [classes! /: na] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:302) ~ [at! .beans.factory.support.Abstrac tBeanFactory.getBean (AbstractBeanFactory.java:197) ~ [classes! /: na] at org.springframework.context.support.AbstractApplicationContext.getBean (AbstractApplicationContext.java:1078) ~ [at org.springfontContext.java:1078] ~ [at! context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:857) ~ [classes! /: na] at org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.support.AbstractApplicationContext.refresh (AbstractApplicationContext.support.AbstractApplicationContext.refresh (AbstractApplicationContext.support.AbstractApplicationContext.refresh (AbstractApplicationContext.support.AbstractApplicationContext.refresh org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.java:122) ~ [classes! /: na] at org.springframework.boot.SpringApplication.refresh (SpringApplication.java69A), in the process for setting the result.boot. na] at org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java.7360) [classes! /: na] at org.springframework.boot.SpringApplication.run (SpringApplication.java:303) [classes! /: na] at org.springframework.boot.SpringApplication.run (SpringApplication.java:1118) [classes! /: na] at org.springframework.boot.SpringApplication.run (SpringApplication.java:1107) [classes! /: na] at com.common.Application.main (Application.java:48) [classes! /: na] at sun.reflect .NativeMethodAccessorImpl.invoke0 (Native Method) ~ [na: 1.8.0_102] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na: 1.8.0_102] at sun.reflect.Delegatejp; java: 43) ~ [na: 1.8.0_102] at java.lang.reflect.Method.invoke (Method.java:498) ~ [na: 1.8.0_102] at org.springframework.boot.loader.MainMethodRunner.run ( MainMethodRunner.java:48) [SpringBootExample-1.0-SNAPSHOT.jar: na] at org.springframework.boot.loader.Launcher.launch (Launcher.java:87) [SpringBootExample-1.0-SNAPSHOT.jar: na] at org. springframework.boot.loader.Launcher.launch (Launcher.java:50) [SpringBootExample-1.0-SNAPSHOT.jar: na] at org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:51) [SpringBootExample-1.0 -SNAPSHOT.jar: na] Caused by: org.hibernate.jpa.boot.arc hive.spi.ArchiveException: Could not build ClassFile at org.hibernate.jpa.boot.scan.spi.ClassFileArchiveEntryHandler.toClassFile (ClassFileArchiveEntryHandler.java:88) ~ [classes::]] at org.hibernate.jiberate.jiber..anti.Hanthian.and.Hanthi.and. scan. : na] at org.hibernate.jpa.boot.scan.spi.AbstractScannerImpl.scan-institute (AbstractScannerImpl.java:72) ~ [classes! /: na] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.scan (in-related-in-the-organization-organization-enty.inot.internal.EntityManagerFactoryBuilderImpl.scan.thot.internal.EntityManagerFactoryBuilderImpl.scan.thot.internal.jan:72). .java: 723) ~ [classes! /: na] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl. (EntityManagerFactoryBuilderImpl.java:219) ~ [classes! /: na] at org.hibernate.jpa.boot. internal.EntityManagerFactoryBuilderImpl. (EntityManagerFactoryBuilderImpl.java:186) ~ [classes! /: na] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPe rsistenceprovisional service website orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory (AbstractEntityManagerFactoryBean.java size70) ~ [classes!: na] at org.springframework.rop.http./md.http.dep.dep.dekho.de in 2007 your knowledge is in the business org.springfire.org [classes! /: na] ... 24 common frames omitted

Maybe somewhere incompatible versions of Hibernate and Spring , but I don’t know how to fix it, just as incomprehensible in the IDE it launches, but from .jar doesn’t.

build.gradle

 group 'SpringBootExample' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'application' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'org.springframework.boot' sourceCompatibility = 1.8 targetCompatibility = 1.8 mainClassName ="com.common.Application" buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.6.RELEASE") } } repositories { mavenCentral() } // Include dependent libraries in archive. jar { manifest { attributes "Main-Class": "$mainClassName" } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' //Spring testCompile("org.springframework.boot:spring-boot-starter-test") compile("org.springframework.boot:spring-boot-starter-web") { exclude module: "spring-boot-starter-tomcat" } compile("org.springframework.boot:spring-boot-starter-jetty") compile("org.springframework.boot:spring-boot-starter-actuator") compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '1.4.0.RELEASE' //Hibernate compile group: 'org.hibernate', name: 'hibernate-core', version: '4.3.6.Final' compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '4.3.6.Final' //JSON compile group: 'org.json', name: 'json', version: '20090211' //Log4j compile group: 'log4j', name: 'log4j', version: '1.2.16' compile 'javax.servlet:javax.servlet-api:3.1.0' compile 'org.javassist:javassist:3.15.0-GA' compile 'commons-dbcp:commons-dbcp:1.4' //Postgres driver compile group: 'postgresql', name: 'postgresql', version: '9.0-801.jdbc4' compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '8.0.36' compile group: 'javax.servlet', name: 'jstl', version: '1.2' compile group: 'org.eclipse.jdt.core.compiler', name: 'ecj', version: '4.4.2' } 

AppMainConfig.java

 package com.common.config; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @Configuration public class AppMainConfig { } 

HibernateConfig.java

 package com.common.config; import com.common.dao.GenericDao; import com.common.dao.entity.Avatar; import com.common.dao.impl.PurchaseDao; import com.common.util.log.Log; import org.apache.commons.dbcp.BasicDataSource; import org.hibernate.SessionFactory; import org.hibernate.cfg.NamingStrategy; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.orm.hibernate4.HibernateTemplate; import org.springframework.orm.hibernate4.HibernateTransactionManager; import org.springframework.orm.hibernate4.LocalSessionFactoryBuilder; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.management.InstanceAlreadyExistsException; import javax.management.MBeanRegistrationException; import javax.management.MalformedObjectNameException; import javax.management.NotCompliantMBeanException; import javax.sql.DataSource; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @Configuration @EnableTransactionManagement @EnableAspectJAutoProxy(proxyTargetClass = true) public class HibernateConfig { @Bean public HibernateTemplate hibernateTemplate() { return new HibernateTemplate(sessionFactory()); } @Bean public SessionFactory sessionFactory() { final String daoPackage = GenericDao.class.getPackage().getName(); final LocalSessionFactoryBuilder localSessionFactoryBuilder = new LocalSessionFactoryBuilder(getDataSource()); return localSessionFactoryBuilder .scanPackages(daoPackage) .buildSessionFactory(); } @Bean public DataSource getDataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("org.postgresql.Driver"); dataSource.setUrl("jdbc:postgresql://localhost:5432/mydb"); dataSource.setUsername("userName"); dataSource.setPassword(""); return dataSource; } @Bean public HibernateTransactionManager transactionManager() { return new HibernateTransactionManager(sessionFactory()); } } 

    0