Voici l'erreur qui se produit lorsque vous essayez d'exécuter mon application 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)
Je crois avoir la bonne combinaison de datanucleus-appengine
et datanucleus
bocaux:
2.1: Nécessite DataNucleus 3.1.x (core, api-jdo, api-jpa, enhancer). Nécessite le SDK 1.6.4+ Notez que cette version de Datanucleus n'est plus prise en charge par le projet DataNucleus
Configuration de l'application 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:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="...">
<modelVersion>4.0.0</modelVersion>
<groupId>org.demohq</groupId>
<artifactId>demo-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>demo-boot</name>
<description>Demo project</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.0.BUILD-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-legacy</artifactId>
<version>1.1.0.BUILD-SNAPSHOT</version>
</dependency>
<!--<dependency>-->
<!--<groupId>net.kindleit</groupId>-->
<!--<artifactId>gae-runtime</artifactId>-->
<!--<version>${gae.version}</version>-->
<!--<type>pom</type>-->
<!--<scope>provided</scope>-->
<!--</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.hsqldb</groupId>-->
<!--<artifactId>hsqldb</artifactId>-->
<!--<scope>runtime</scope>-->
<!--</dependency>-->
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-labs</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-stubs</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-testing</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>
<!-- DataNucleus -->
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jpa</artifactId>
<version>${datanucleus.jpa.version}</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>${datanucleus.jpa.version}</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-enhancer</artifactId>
<version>${datanucleus.jpa.version}</version>
</dependency>
<dependency>
<groupId>com.google.appengine.orm</groupId>
<artifactId>datanucleus-appengine</artifactId>
<version>${datanucleus.version}</version>
<!-- Need to exclude the enhancer since it interfere with the enhancer plugin. -->
<exclusions>
<exclusion>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-enhancer</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
<version>1.1</version>
</dependency>
<!-- OpenJPA -->
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-persistence</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
<properties>
<start-class>demo.Application</start-class>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
<m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot>
<datanucleus.jpa.version>3.1.1</datanucleus.jpa.version>
<datanucleus.version>2.1.2</datanucleus.version>
<gae.version>1.8.8</gae.version>
<gae.home>${settings.localRepository}/com/google/appengine/appengine-java-sdk/${gae.version}/appengine-java-sdk/appengine-java-sdk-${gae.version}</gae.home>
<gae.application.version>test</gae.application.version>
<!--<org.springframework-version>4.0.5.RELEASE</org.springframework-version>-->
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--
<plugin>
<groupId>net.kindleit</groupId>
<artifactId>maven-gae-plugin</artifactId>
<version>0.9.6</version>
<dependencies>
<dependency>
<groupId>net.kindleit</groupId>
<artifactId>gae-runtime</artifactId>
<version>${gae.version}</version>
<type>pom</type>
</dependency>
</dependencies>
</plugin>
-->
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${gae.version}</version>
<configuration>
<enableJarClasses>false</enableJarClasses>
</configuration>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<goals>gae:deploy</goals>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
<plugin>
<groupId>org.datanucleus</groupId>
<artifactId>maven-datanucleus-plugin</artifactId>
<version>${datanucleus.jpa.version}</version>
<configuration>
<api>JPA</api>
<!--<mappingIncludes>**/entity/*.class</mappingIncludes>-->
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>${datanucleus.jpa.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- We can configure our integration server to activate this profile and
perform gae:deploy, thus uploading latest snapshot to the http://1.latest.<applicationName>.appspot.com
automatically -->
<profile>
<id>integration-build</id>
<properties>
<gae.application.version>stage</gae.application.version>
</properties>
</profile>
<!-- This profile will activate automatically during release and upload
application to the http://2.latest.<applicationName>.appspot.com (We might
want to set the 2nd version as our applications Default version to be accessible
at http://<applicationName>.appspot.com) -->
<profile>
<id>release-build</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<properties>
<!-- During release, set application version in appengine-web.xml to
2 -->
<gae.application.version>release</gae.application.version>
</properties>
</profile>
</profiles>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
Je me demande ce qui pourrait manquer dans mon application? J'ai suivi les instructions d'ici à l' aide de Spring Data JPA sur Google Appengine
Réponses:
Vous n'avez pas fourni à Spring Boot suffisamment d'informations pour configurer automatiquement a
DataSource
. Pour ce faire, vous devrez ajouter des propriétés àapplication.properties
avec lespring.datasource
préfixe. Jetez un œil à DataSourceProperties pour voir toutes les propriétés que vous pouvez définir.Vous devrez fournir l'URL et le nom de classe de pilote appropriés:
la source
java -jar myJar.jar
il me donne la même erreur.spring.datasource.url = … spring.datasource.driver-class-name = …
propriétés. J'ai donc ajouté@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
dans ma classe principale. Mais après avoir mis cela maintenant, je reçois une erreurParameter 0 of constructor in org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration required a bean of type 'javax.sql.DataSource' that could not be found.
. Veuillez aider.Si vous souhaitez utiliser la base de données H2 intégrée à partir du démarreur Spring Boot, ajoutez la dépendance ci-dessous à votre fichier pom.
Mais comme mentionné dans les commentaires, la base de données H2 intégrée conserve les données en mémoire et ne les stocke pas en permanence.
la source
J'aurais le même problème et l'exclusion de DataSourceAutoConfiguration a résolu le problème.
la source
application.properties
, commespring.main.web-environment=false
@EnableAutoConfiguration
dans une classe non-SpringBootApplication et j'ai dû y ajouter également l'exclusion. TBH, je n'en ai probablement pas besoin@EnableAutoConfiguration
en premier lieu: /Cela a fonctionné pour moi (1.3.0.M5):
Exclure les deux classes.
Cela n'a pas fonctionné avec
la source
Vous pouvez ajouter
à votre
application.properties
dossier.la source
Maintenant que je regarde de plus près, je pense que le problème DataSource est un redingue. L'auto-configuration Hibernate de démarrage est déclenchée et c'est ce qui oblige une DataSource à être requise. Hibernate est sur le chemin de classe parce que vous avez une dépendance sur
spring-boot-starter-data-jpa
ce qui tirehibernate-entitymanager
.Mettez à jour votre
spring-boot-starter-data-jpa
dépendance pour exclure Hibernate:la source
Tiré du manuel du printemps .
Pour moi, laisser de côté la dépendance spring-boot-starter-data-jpa et utiliser simplement la dépendance spring-boot-starter-jdbc a fonctionné comme un charme, tant que j'avais h2 (ou hsqldb) inclus comme dépendances.
la source
Spring boot recherchera les propriétés de la source de données dans le fichier application.properties.
Veuillez le définir dans le fichier application.properties ou yml
application.properties
Si vous avez besoin de votre propre configuration, vous pouvez définir votre propre profil et utiliser les valeurs de la source de données lors de la création du bean.
la source
Je ne sais pas s'il est trop tard pour répondre. J'ai pu résoudre ce problème en excluant DataSourceAutoConfiguration de Spring Boot.
la source
J'ai fait face à cette exception pendant que je faisais des API pour ElasticSearch à l'aide de Spring Data. J'ai fait ce qui suit et cela a fonctionné.
la source
J'avais deux dépendances avec groupId d'org.springframework.data, puis j'ai supprimé jpa et gardé mongodb uniquement, et cela a fonctionné!
la source
Je résout mon problème en ajoutant simplement @AutoConfigureTestDatabase (replace = Replace.NONE)
la source
J'ai reçu le message d'erreur dans le titre
o.s.b.d.LoggingFailureAnalysisReporter
avec le message "ÉCHEC DE L'APPLICATION". Il s'est avéré que je n'avais pas ajouté-Dspring.profiles.active=dev
à ma configuration de débogage Eclipse, donc je n'avais pas de profil actif.la source
Run -> Debug configurations... -> Maven build -> [build name] -> JRE -> VM arguments
)Moi aussi, j'ai été confronté au même problème.
Dans mon cas, la suppression du fichier jar du référentiel correspondant à la base de données résout le problème. Un pot corrompu était présent dans le référentiel, ce qui provoquait le problème.
la source
Dans mon cas, je lui ai mis une dépendance maven pour org.jasig.cas dans mon pom qui a déclenché une dépendance d'hibernation et qui a amené Spring Boot à rechercher une source de données pour configurer automatiquement la persistance d'hibernation. Je l'ai résolu en ajoutant la dépendance maven com.h2database comme suggéré par user672009. Merci les gars!
la source
Comme c'est l'un des premiers sujets retournés dans google pour cette erreur, je posterai ce que j'ai fait au cas où quelqu'un rencontrerait le même problème .. Je ne voulais pas exclure
DataSourceAutoConfiguration
ni utiliser une base de données mémoire ..Dans mon cas, je définissais les paramètres comme l'ont dit les autres réponses, mais le
application.properties
fichier était dans le mauvais dossier. LolDonc, si rien de tel ne fonctionne, vérifiez si le fichier est à l'intérieur
src/main/resources
! Dans mon cas, c'était à l'intérieursrc/main/resources/static
la source
La réponse est très simple, SpringBoot recherchera un pilote de base de données embarquable.Si vous n'avez pas configuré dans aucune de vos configurations sous forme de XML ou d'annotations, il lèvera cette exception. Apportez les modifications dans votre annotation comme ceci
cela exclura la DataSourceAutoConfiguration. Et l'achèvement du codage simple parfait serait un travail si vous avez correctement configuré votre classe.la source
Faire ci-dessous fonctionne.
Mais si je voulais avoir dataSource, je ne devrais pas faire la configuration ci-dessus. Le lien ci-dessous indique que nous avons besoin de toutes les propriétés du fichier application.properties. Toutes les propriétés doivent commencer par
spring.datasource.*
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
la source
Si vous avez vraiment besoin de "spring-boot-starter-data-jpa" comme dépendance de votre projet et en même temps que vous ne voulez pas autoriser votre application à accéder à une base de données, vous pouvez simplement exclure les classes de configuration automatique
la source
J'ai essayé toutes les choses mentionnées ci-dessus mais je n'ai pas pu résoudre le problème. J'utilise SQLite et mon fichier SQLite était dans le répertoire des ressources.
a) Configuration terminée pour IDE
J'ai besoin d'ajouter manuellement les lignes ci-dessous dans le fichier .classpath de mon projet.
Après cela, j'ai actualisé et nettoyé le projet à partir de MenuBar en haut. comme Projet-> Nettoyer-> Mon nom de projet.
Après cela, j'exécute le projet et le problème est résolu.
application.properties pour mon projet est
b) Configuration terminée si le déploiement de Jar renvoie la même erreur
Vous devez ajouter les lignes suivantes à votre pom.xml
Peut-être que cela peut aider quelqu'un.
la source
si vous n'avez pas de base de données dans votre application, désactivez simplement la configuration automatique de la source de données en ajoutant l'annotation ci-dessous.
la source
Même chose pour @Anas. Je peux l'exécuter dans Eclipse, mais quand j'utilise "java -jar ..." l'exécuter, cela me donne cette erreur. Ensuite, je trouve que mon chemin de construction java est incorrect, il manque le dossier «src / main / resources», donc l'application ne peut pas trouver application.properties. Lorsque j'ajoute le dossier «src / main / resources» dans le chemin de construction java, cela a fonctionné.
Et, vous devez ajouter "@PropertySource ({" application.properties "})" dans votre classe Application.
Capture d'écran-1
Capture d'écran-2
la source
C'est ainsi que j'ai résolu ce problème.
Dans mon cas: j'ai dû configurer la source de données pour MySQL Server, qui était un serveur externe.
Comme nous le savons tous, Spring Boot a la capacité de configurer automatiquement DataSource pour les bases de données intégrées.
Ainsi, j'ai réalisé que je devais désactiver la configuration automatique de la source de données afin d'utiliser ma configuration personnalisée.
Comme mentionné ci-dessus par beaucoup, j'ai désactivé la configuration automatique DataSource de Spring Boot sur application.properties
J'ai défini toutes les propriétés de configuration de mise en veille prolongée dans un fichier séparé: hibernate-mysql.properties
Ensuite, j'ai codé ma propre configuration de mise en veille prolongée personnalisée de la manière suivante et cela a résolu le problème.
Ma façon de configurer la DataSource souhaitée en fonction des propriétés d'un fichier de propriétés personnalisé et de remplir votre LocalSessionFactoryBean avec votre source de données et une autre configuration de mise en veille prolongée.
Classe de configuration personnalisée Hibernate: -
-------------------------------------------- -------------
Hibernate Configuration personnalisée
la source
Utilisez cette dépendance ci-dessous.
la source
Dans mon cas, en utilisant IDEA, après avoir supprimé le
out
répertoire, tout revient à la normale. Je ne sais juste pas pourquoi, mais ça a fonctionné.la source
J'aurais le problème similaire et l'exclusion de DataSourceAutoConfiguration et HibernateJpaAutoConfiguration a résolu le problème.
J'ai ajouté ces deux lignes dans mon fichier application.properties et cela a fonctionné.
la source
Déjà suffisamment de réponses ont été publiées. Cependant, je poste quelle erreur j'ai commise et comment je l'ai corrigée.
Dans mon cas, j'avais emballé mon projet au
pom
lieu dejar
pom.xml:
Changé en:
Cela peut être utile pour quelqu'un qui a la même erreur.
la source
Vous pouvez télécharger le derby-10.10.1.1.jar à partir du référentiel Maven et le placer dans votre dossier WEB-INF / lib, comme cette application / WEB-INF / lib / derby-10.10.1.1.jar. Votre AnnotationConfigEmbeddedWebApplicationContext intégré récupérera le pilote de base de données et votre serveur Web commencera à fonctionner sans aucun problème :-)
la source
Si vous utilisez Gradle, incluez le pot droit du pilote comme ci-dessous:
Ou si vous utilisez Maven puis faites-le dans le style Maven, cela devrait résoudre votre problème.
la source
À quiconque vient sur ce fil après des heures à se cogner la tête contre un mur. J'ai résolu cette erreur en changeant
à
dans mon fichier schema.sql dans le répertoire des ressources.
la source