Spring Boot – Imansible determinare la class del driver del database incorporato per il tipo di database NONE

Questo è l’errore che viene generato durante il tentativo di eseguire la mia app Web:

[INFO] WARNING: Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private javax.sql.DataSource org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.dataSource; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public javax.sql.DataSource org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$NonEmbeddedConfiguration.dataSource()] threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath.: [INFO] org.springframework.beans.factory.BeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. [INFO] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.getDriverClassName(DataSourceProperties.java:91) [INFO] at org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$NonEmbeddedConfiguration.dataSource(DataSourceAutoConfiguration.java:100) [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [INFO] at java.lang.reflect.Method.invoke(Method.java:606) [INFO] at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115) [INFO] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166) [INFO] at org.springframework.beans.factory.support.ConstructorResolver$3.run(ConstructorResolver.java:580) [INFO] at java.security.AccessController.doPrivileged(Native Method) [INFO] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:577) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1094) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:989) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) [INFO] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) [INFO] at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1017) [INFO] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960) [INFO] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:858) [INFO] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480) [INFO] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) [INFO] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) [INFO] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) [INFO] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:370) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1094) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:989) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) [INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) [INFO] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) [INFO] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) [INFO] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973) [INFO] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750) [INFO] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) [INFO] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:683) [INFO] at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [INFO] at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) [INFO] at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:60) [INFO] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) [INFO] at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) [INFO] at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) [INFO] at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) [INFO] at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) [INFO] at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) [INFO] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [INFO] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [INFO] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [INFO] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [INFO] at org.mortbay.jetty.Server.doStart(Server.java:224) [INFO] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [INFO] at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:249) [INFO] at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:306) [INFO] at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:26) [INFO] at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:79) [INFO] at com.google.appengine.tools.development.Modules.startup(Modules.java:88) [INFO] at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:254) [INFO] at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:47) [INFO] at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:212) [INFO] at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:210) [INFO] at java.security.AccessController.doPrivileged(Native Method) [INFO] at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:210) [INFO] at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:277) [INFO] at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48) [INFO] at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:219) [INFO] at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:210) 

Credo di avere la giusta combinazione di datanucleus-appengine e datanucleus jars:

2.1: Richiede DataNucleus 3.1.x (core, api-jdo, api-jpa, enhancer). Richiede SDK 1.6.4+ Si noti che questa versione di Datanucleus non è più supportata dal progetto DataNucleus

Configurazione app JPA:

 @Configuration @EnableJpaRepositories("demo.core.entity") @EnableTransactionManagement class JpaApplicationConfig { private static final Logger logger = Logger .getLogger(JpaApplicationConfig.class.getName()); @Bean public AbstractEntityManagerFactoryBean entityManagerFactory() { logger.info("Loading Entity Manager..."); LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean(); factory.setPersistenceUnitName("transactions-optional"); return factory; } @Bean public PlatformTransactionManager transactionManager() { logger.info("Loading Transaction Manager..."); JpaTransactionManager txManager = new JpaTransactionManager(); txManager.setEntityManagerFactory(entityManagerFactory().getObject()); return txManager; } @Bean public PersistenceExceptionTranslator persistenceExceptionTranslator() { return new OpenJpaDialect(); } } 

Application.java

 @Configuration @ComponentScan @EnableAutoConfiguration @RestController public class Application { private static final EntityManagerFactory INSTANCE = Persistence.createEntityManagerFactory("transactions-optional"); public static void main(String[] args) { SpringApplication.run(Application.class, args); } @RequestMapping("/") public String home() { return "Hello World"; } } 

POM:

  4.0.0 org.demohq demo-boot 0.0.1-SNAPSHOT war demo-boot Demo project  org.springframework.boot spring-boot-starter-parent 1.1.0.BUILD-SNAPSHOT    org.springframework.boot spring-boot-starter-web   org.springframework.boot spring-boot-starter-actuator   org.springframework.boot spring-boot-starter-tomcat provided   org.springframework.boot spring-boot-legacy 1.1.0.BUILD-SNAPSHOT  <!----> <!--net.kindleit--> <!--gae-runtime--> <!--${gae.version}--> <!--pom--> <!--provided--> <!---->  org.springframework.boot spring-boot-starter-test test   org.springframework.boot spring-boot-starter-data-jpa   org.springframework spring-aspects  <!----> <!--org.hsqldb--> <!--hsqldb--> <!--runtime--> <!---->  com.google.appengine appengine-api-labs ${gae.version} test   com.google.appengine appengine-api-stubs ${gae.version} test   com.google.appengine appengine-testing ${gae.version} test    org.datanucleus datanucleus-api-jpa ${datanucleus.jpa.version}   org.datanucleus datanucleus-core ${datanucleus.jpa.version}   org.datanucleus datanucleus-enhancer ${datanucleus.jpa.version}   com.google.appengine.orm datanucleus-appengine ${datanucleus.version}    org.datanucleus datanucleus-enhancer     javax.jdo jdo-api 3.0.1   org.apache.geronimo.specs geronimo-jpa_2.0_spec 1.1    org.apache.openjpa openjpa-persistence 2.3.0    demo.Application UTF-8 UTF-8 1.7 / 3.1.1 2.1.2 1.8.8 ${settings.localRepository}/com/google/appengine/appengine-java-sdk/${gae.version}/appengine-java-sdk/appengine-java-sdk-${gae.version} test <!--4.0.5.RELEASE-->     org.springframework.boot spring-boot-maven-plugin  <!--  net.kindleit maven-gae-plugin 0.9.6   net.kindleit gae-runtime ${gae.version} pom    -->  com.google.appengine appengine-maven-plugin ${gae.version}  false    maven-release-plugin  gae:deploy    org.apache.tomcat.maven tomcat6-maven-plugin 2.0  /    org.datanucleus maven-datanucleus-plugin ${datanucleus.jpa.version}  JPA <!--**/entity/*.class--> true    org.datanucleus datanucleus-core ${datanucleus.jpa.version}     compile  enhance        <!-- We can configure our integration server to activate this profile and perform gae:deploy, thus uploading latest snapshot to the http://1.latest..appspot.com automatically -->  integration-build  stage   <!-- This profile will activate automatically during release and upload application to the http://2.latest..appspot.com (We might want to set the 2nd version as our applications Default version to be accessible at http://.appspot.com) -->  release-build   performRelease true     release      spring-snapshots Spring Snapshots http://repo.spring.io/snapshot  true    spring-milestones Spring Milestones http://repo.spring.io/milestone  false      spring-snapshots Spring Snapshots http://repo.spring.io/snapshot  true    spring-milestones Spring Milestones http://repo.spring.io/milestone  false     

Mi chiedo cosa potrebbe mancare nella mia app? Ho seguito le istruzioni da qui Usando Spring Data JPA su Google Appengine

Non è stato fornito Spring Boot con informazioni sufficienti per configurare automaticamente un DataSource . Per fare ciò, è necessario aggiungere alcune proprietà a application.properties con il prefisso spring.datasource . Dai un’occhiata a DataSourceProperties per vedere tutte le proprietà che puoi impostare.

Dovrai fornire l’url e il nome della class del driver appropriati:

 spring.datasource.url = … spring.datasource.driver-class-name = … 

Ho risolto questo aggiungendo quanto segue al mio file pom.

   com.h2database h2 1.3.156  

Avrei lo stesso problema ed escludendo DataSourceAutoConfiguration ho risolto il problema.

 @SpringBootApplication @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class RecommendationEngineWithCassandraApplication { public static void main(String[] args) { SpringApplication.run(RecommendationEngineWithCassandraApplication.class, args); } } 

Questo ha funzionato per me (1.3.0.M5):

 import org.springframework.boot.autoconfigure.jdbc.*; import org.springframework.boot.autoconfigure.orm.jpa.*; @Configuration @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class Application { 

Escludi entrambe le classi.

Non ha funzionato con

 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) 

Ora che guardo più da vicino, penso che il problema DataSource sia una falsa pista. La configurazione automatica di Boot di Hibernate viene avviata e questo è ciò che causa la necessità di un DataSource. Hibernate si trova sul classpath perché hai una dipendenza da spring-boot-starter-data-jpa che attira in hibernate-entitymanager .

Aggiorna la tua dipendenza spring-boot-starter-data-jpa per escludere Hibernate:

  org.springframework.boot spring-boot-starter-data-jpa   org.hibernate hibernate-entitymanager    

Puoi aggiungere

 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 

al tuo file application.properties .

Dal manuale di spring .

Spring Boot può autoconfigurare i database integrati H2, HSQL e Derby. Non è necessario fornire alcun URL di connessione, è sufficiente includere una dipendenza di compilazione per il database incorporato che si desidera utilizzare.

Ad esempio, le dipendenze POM tipiche sarebbero:

  org.springframework.boot spring-boot-starter-data-jpa   org.hsqldb hsqldb runtime  

Per me uscire dalla dipendenza spring-boot-starter-data-jpa e usare solo la dipendenza spring-boot-starter-jdbc ha funzionato come un incantesimo, purché h2 (o hsqldb) fossero inclusi come dipendenze.

Non lo faccio se è troppo tardi per rispondere. Potrei risolvere questo problema escludendo DataSourceAutoConfiguration da spring boot.

L’avvio di spring cercherà le proprietà dei dati nel file application.properties.

Si prega di definirlo in application.properties o in un file yml

application.properties

 spring.datasource.url=xxx spring.datasource.username=xxx spring.datasource.password=xxx spring.datasource.driver-class-name=xxx 

Se è necessaria la propria configurazione, è ansible impostare il proprio profilo e utilizzare i valori dell’origine dati durante la creazione del bean.

Ho affrontato questa eccezione mentre stavo facendo le API per ElasticSearch usando Spring Data. Ho fatto quanto segue e ha funzionato.

 @SpringDataApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) 

Risolvo il mio problema aggiungendo @AutoConfigureTestDatabase (replace = Replace.NONE)

 @RunWith(SpringRunner.class) @DataJpaTest @AutoConfigureTestDatabase(replace=Replace.NONE) public class TestClienteRepository { } 

Ho avuto due dipendenze con groupId di org.springframework.data, quindi ho rimosso jpa e mantenuto solo mongodb, e ha funzionato!

  org.springframework.data spring-data-mongodb   org.springframework.data spring-data-jpa  

Ho ricevuto il messaggio di errore nel titolo da osbdLoggingFailureAnalysisReporter insieme al messaggio “APPLICAZIONE NON RIUSCITA PER INIZIARE”. È risultato che non avevo aggiunto -Dspring.profiles.active=dev alla mia configurazione di debug di Eclipse quindi non avevo un profilo attivo.

Anch’io ho affrontato lo stesso problema.

 Cannot determine embedded database driver class for database type NONE. 

Nel mio caso l’eliminazione del file jar dal repository corrispondente al database risolve il problema. C’era il jar corrotto presente nel repository che stava causando il problema.

Nel mio caso, ho inserito una dipendenza da Maven per org.jasig.cas nel mio pom che ha triggersto una dipendenza da sospensione e che ha causato l’avvio di Spring Boot per un’origine dati per la configurazione automatica della persistenza di ibernazione. L’ho risolto aggiungendo la dipendenza di maven com.h2database come suggerito dall’utente672009. Grazie ragazzi!

Poiché questo è uno dei primi argomenti restituiti in google per questo errore, pubblicherò ciò che ho fatto nel caso in cui qualcuno abbia affrontato lo stesso problema. Non volevo escludere DataSourceAutoConfiguration né usare un database di memoria.

Nel mio caso stavo impostando i parametri come gli altri repeater hanno detto, ma il file application.properties era all’interno della cartella sbagliata .. lol

Quindi nel caso in cui nulla di simile funzioni, controlla se il file si trova all’interno di src/main/resources ! Nel mio caso era all’interno di src/main/resources/static

La risposta è molto semplice, SpringBoot cercherà il driver del database integrabile, se non lo hai configurato in nessuna delle tue configurazioni in forma di XML o annotazioni, genererà questa eccezione. Apporta le modifiche nella tua annotazione in questo modo

 @EnableAutoConfiguration(exclude=DataSourceAutoConfiguration.class) 

questo escluderà DataSourceAutoConfiguration. E il completamento perfetto della codifica semplice potrebbe funzionare se hai configurato correttamente la tua class.

 @Controller @EnableAutoConfiguration(exclude=DataSourceAutoConfiguration.class) public class SimpleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; }public static void main(String[] args) throws Exception { SpringApplication.run(SimpleController.class, args); } } 

Fare sotto funziona.

 @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 

Ma se volessi avere dataSource, non dovrei fare la configurazione di cui sopra. Il link sottostante dice che abbiamo bisogno di tutte le proprietà nel file application.properties. Tutte le proprietà dovrebbero iniziare con spring.datasource.*

http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

Se hai davvero bisogno di “spring-boot-starter-data-jpa” come dipendenza del tuo progetto e allo stesso tempo non vuoi consentire alla tua app di accedere a qualsiasi database, puoi semplicemente escludere le classi di autoconfigurazione

 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) 

Ho provato tutte le suddette cose sopra ma non ho potuto risolvere il problema. Sto usando SQLite e il mio file SQLite era nella directory delle risorse.

a) Impostazione eseguita per IDE

Devo aggiungere manualmente sotto le righe nel file .classpath del mio progetto.

   

Successivamente, ho aggiornato e ripulito il progetto da MenuBar in alto. come Progetto-> Pulisci-> Nome del mio progetto.

Dopodiché, eseguo il progetto e risolvo il problema.

application.properties per il mio progetto è

 spring.datasource.url=jdbc:sqlite:resources/apiusers.sqlite spring.datasource.driver-class-name=org.sqlite.JDBC spring.jpa.properties.hibernate.dialect=com.enigmabridge.hibernate.dialect.SQLiteDialect spring.datasource.username= spring.datasource.password= spring.jpa.hibernate.ddl-auto=update 

b) Impostazione eseguita se la distribuzione Jar ha generato lo stesso errore

Devi aggiungere le seguenti linee al tuo pom.xml

     resources ${project.build.outputDirectory}  application.properties     

Potrebbe essere che potrebbe aiutare qualcuno.

Puoi scaricare derby-10.10.1.1.jar dal repository Maven e metterlo nella tua cartella WEB-INF / lib, come questa applicazione / WEB-INF / lib / derby-10.10.1.1.jar. AnnotationConfigEmbeddedWebApplicationContext incorporato preleverà il driver del database e il server web inizierà a funzionare senza problemi 🙂

Se stai usando Gradle, includi il jar del driver giusto come di seguito:

 compile("org.mongodb:mongo-java-driver:3.3.0") 

O se usi Maven, fallo in stile Maven, dovrebbe risolvere il tuo problema.

Per chiunque venga a questo filo dopo ore di sbattere la testa contro un muro. Ho risolto questo errore cambiando

 create table `group`( id char(19) primary key ); 

a

 create table if not exists `group`( id char(19) primary key ); 

nel mio file schema.sql nella directory delle risorse.

se non si dispone di alcun database nell’applicazione, disabilitare semplicemente l’auto-config dell’origine dati aggiungendo l’annotazione sottostante.

 @SpringBootApplication(exclude={DataSourceAutoConfiguration.class}) 

Lo stesso per @Anas. Posso eseguirlo in Eclipse, ma quando uso “java -jar …” eseguirlo, mi dà questo errore. Poi trovo che il mio percorso di costruzione di java è sbagliato, manca la cartella “src / main / resources”, quindi l’applicazione non può trovare application.properties. Quando aggiungo la cartella “src / main / resources” nel percorso di sviluppo java, ha funzionato.

E, è necessario aggiungere “@PropertySource ({” application.properties “})” nella class Application.

Screenshot-1

Screenshot-2

Fare clic con il tasto destro del mouse sul progetto e selezionare la seguente opzione Maven -> Aggiorna progetto. Questo ha risolto il mio problema.

In genere, tale errore si verifica quando si utilizza JPA e si dimentica di aggiungere una connessione al database. Pertanto, è necessario aggiungere dipendenze correlate al database nell’applicazione.

Tuttavia, si desidera utilizzare JPA senza connettere alcun database esterno, quindi aggiungere hsqldb nella propria dipendenza.

Spero che aiuti!

Questo è il modo in cui ho risolto questo problema.

Nel mio caso: dovevo configurare l’origine dati per MySQL Server, che era un server esterno.

Come tutti sappiamo, Spring Boot ha la capacità di auto-configurare DataSource per i database incorporati.

Così, ho capito che dovevo disabilitare la configurazione automatica dell’origine dati per usare la mia configurazione personalizzata.

Come già detto da molti, ho disabilitato la configurazione Automatic DataSource di Spring Boot su application.properties

spring.autoconfigure.exclude = org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

Ho definito tutte le proprietà di configurazione di ibernazione in un file separato: hibernate-mysql.properties

Quindi, ho codificato la mia configurazione personalizzata di ibernazione nel modo seguente e ho risolto il problema.

Il mio modo di configurare il DataSource desiderato in base alle proprietà in un file di proprietà personalizzato e popolare LocalSessionFactoryBean con l’origine dati e altre configurazioni di sospensione.

Hibernate Custom Configuration Class: –
————————————————– ——-

Sospendi configurazione personalizzata

Elimina C:\Users\admin\.IntelliJIdea2018.1\system\compile-server

Nella mia situazione, usando IDEA, dopo aver rimosso la directory, tutto torna alla normalità. Solo non so perché, ma ha funzionato.