Este es el error que se produce al intentar ejecutar mi aplicación 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)
Creo que tengo la combinación correcta de datanucleus-appengine
y datanucleus
frascos:
2.1: Requiere DataNucleus 3.1.x (core, api-jdo, api-jpa, enhancer). Requiere SDK 1.6.4+ Tenga en cuenta que esta versión de Datanucleus ya no es compatible con el proyecto DataNucleus
Configuración de la aplicación 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>
Me pregunto qué podría faltar en mi aplicación. Seguí las instrucciones desde aquí Usando Spring Data JPA en Google Appengine
Respuestas:
No ha proporcionado a Spring Boot información suficiente para configurar automáticamente a
DataSource
. Para hacerlo, deberá agregar algunas propiedadesapplication.properties
con elspring.datasource
prefijo. Echa un vistazo a DataSourceProperties para ver todas las propiedades que puede establecer.Deberá proporcionar la url y el nombre de clase de controlador adecuados:
fuente
java -jar myJar.jar
me está dando el mismo error.spring.datasource.url = … spring.datasource.driver-class-name = …
propiedades. Así que agregué@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
en mi clase principal. Pero después de poner esto ahora recibo un errorParameter 0 of constructor in org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration required a bean of type 'javax.sql.DataSource' that could not be found.
. Por favor ayuda.Si desea utilizar la base de datos H2 incrustada del arrancador Spring Boot, agregue la dependencia siguiente a su archivo pom.
Pero como se menciona en los comentarios, la base de datos H2 integrada mantiene los datos en la memoria y no los almacena de forma permanente.
fuente
Tuve el mismo problema y excluir DataSourceAutoConfiguration resolvió el problema.
fuente
application.properties
, comospring.main.web-environment=false
@EnableAutoConfiguration
en una clase que no es SpringBootApplication, y tuve que agregar la exclusión allí también. TBH, probablemente no necesito@EnableAutoConfiguration
allí en primer lugar: /Esto funcionó para mí (1.3.0.M5):
Excluir ambas clases.
No funcionó con
fuente
Puedes añadir
a su
application.properties
archivofuente
Ahora que miro más de cerca, creo que el problema de DataSource es una pista falsa. La configuración automática de Hibernate de Boot se está activando y eso es lo que hace que se requiera un DataSource. Hibernate está en el classpath porque tienes una dependencia de la
spring-boot-starter-data-jpa
que se detienehibernate-entitymanager
.Actualice su
spring-boot-starter-data-jpa
dependencia para excluir Hibernate:fuente
Del manual de primavera .
Para mí, dejar de lado la dependencia spring-boot-starter-data-jpa y simplemente usar la dependencia spring-boot-starter-jdbc funcionó de maravilla, siempre que tuviera h2 (o hsqldb) incluido como dependencias.
fuente
Spring boot buscará propiedades de datos en el archivo application.properties.
Defínalo en application.properties o en el archivo yml
application.properties
Si necesita su propia configuración, puede establecer su propio perfil y utilizar los valores de la fuente de datos mientras se crea el bean.
fuente
No sé si es demasiado tarde para responder. Podría resolver este problema excluyendo DataSourceAutoConfiguration del arranque de primavera.
fuente
Enfrenté esta excepción mientras hacía API para ElasticSearch usando Spring Data. Hice lo siguiente y funcionó.
fuente
Tenía dos dependencias con groupId de org.springframework.data, luego eliminé jpa y mantuve solo mongodb, ¡y funcionó!
fuente
Resuelvo mi problema simplemente agregando @AutoConfigureTestDatabase (replace = Replace.NONE)
fuente
Recibí el mensaje de error en el título
o.s.b.d.LoggingFailureAnalysisReporter
junto con el mensaje "LA APLICACIÓN NO PUEDE INICIAR". Resultó que no había agregado-Dspring.profiles.active=dev
a mi configuración de depuración de Eclipse, así que no tenía un perfil activo.fuente
Run -> Debug configurations... -> Maven build -> [build name] -> JRE -> VM arguments
)Yo también enfrenté el mismo problema.
En mi caso, eliminar el archivo jar del repositorio correspondiente a la base de datos soluciona el problema. Había un contenedor corrupto presente en el repositorio que estaba causando el problema.
fuente
En mi caso, le puse una dependencia maven para org.jasig.cas en mi pom que desencadenó una dependencia de hibernación y que hizo que Spring Boot buscara una fuente de datos para configurar automáticamente la persistencia de hibernación. Lo resolví agregando la dependencia com.h2database maven según lo sugerido por el usuario672009. ¡Gracias chicos!
fuente
Como este es uno de los primeros temas devueltos en Google por este error, publicaré lo que hice en caso de que alguien enfrente el mismo problema. No quería excluir
DataSourceAutoConfiguration
ni utilizar una base de datos de memoria.En mi caso, estaba estableciendo los parámetros como decían los otros respondedores, pero el
application.properties
archivo estaba dentro de la carpeta incorrecta ... jajajaEntonces, en caso de que nada de esto funcione, ¡verifique si el archivo está dentro
src/main/resources
! En mi caso estaba adentrosrc/main/resources/static
fuente
La respuesta es muy simple, SpringBoot buscará un controlador de base de datos incorporable. Si no configuró en ninguna de sus configuraciones en forma de XML o Anotaciones, arrojará esta excepción. Haga los cambios en su anotación de esta manera
esto excluirá la DataSourceAutoConfiguration. Y la finalización de Perfect Simple Coding funcionaría si ha configurado correctamente su clase.fuente
Hacer a continuación funciona.
Pero si quisiera tener dataSource, no debería hacer la configuración anterior. El siguiente enlace dice que necesitamos todas las propiedades en el archivo application.properties. Todas las propiedades deben comenzar con
spring.datasource.*
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
fuente
Si realmente necesita "spring-boot-starter-data-jpa" como dependencia de su proyecto y, al mismo tiempo, no desea permitir que su aplicación acceda a ninguna base de datos, simplemente puede excluir las clases de configuración automática
fuente
Intenté todas las cosas mencionadas anteriormente pero no pude resolver el problema. Estoy usando SQLite y mi archivo SQLite estaba en el directorio de recursos.
a) Configuración realizada para IDE
Necesito agregar manualmente las siguientes líneas en el archivo .classpath de mi proyecto.
Después de eso, actualicé y limpié el proyecto de MenuBar en la parte superior. como Proyecto-> Limpiar-> Mi nombre de proyecto.
Después de eso, ejecuté el proyecto y el problema se resolvió.
application.properties para mi proyecto es
b) Configuración realizada si la implementación de Jar arroja el mismo error
Debe agregar las siguientes líneas a su pom.xml
Puede ser que pueda ayudar a alguien.
fuente
si no tiene ninguna base de datos en su aplicación, simplemente desactive la configuración automática de la fuente de datos agregando la anotación a continuación.
fuente
Lo mismo para @Anas. Puedo ejecutarlo en Eclipse, pero cuando uso "java -jar ..." ejecutarlo, me da este error. Luego encuentro que mi ruta de compilación de Java es incorrecta, falta la carpeta "src / main / resources", por lo que la aplicación no puede encontrar application.properties. Cuando agregué la carpeta "src / main / resources" en la ruta de compilación de Java, funcionó.
Y, necesita agregar "@PropertySource ({" application.properties "})" en su clase de Aplicación.
Captura de pantalla-1
Captura de pantalla-2
fuente
Así es como resolví este problema.
En mi caso: tuve que configurar la fuente de datos para el servidor MySQL, que era un servidor externo.
Como todos sabemos, Spring boot tiene la capacidad de configurar automáticamente DataSource para bases de datos integradas.
Por lo tanto, me di cuenta de que tenía que deshabilitar la configuración automática del origen de datos para poder usar mi configuración personalizada.
Como se mencionó anteriormente por muchos, deshabilité la configuración automática de fuente de datos de Spring Boot en application.properties
Definí todas las propiedades de configuración de hibernate en un archivo separado: hibernate-mysql.properties
Luego, codifiqué mi propia configuración de hibernación personalizada de la siguiente manera y resolvió el problema.
Mi forma de configurar el DataSource deseado en función de las propiedades en un archivo de propiedad personalizado y llenar su LocalSessionFactoryBean con su fuente de datos y otra configuración de hibernación.
Clase de configuración personalizada de Hibernate:
-------------------------------------------- -------------
Configuración personalizada de hibernación
fuente
Use esto debajo de la dependencia.
fuente
En mi caso, usando IDEA, después de eliminar el
out
directorio, todo vuelve a la normalidad. Simplemente no sé por qué, pero funcionó.fuente
Tuve el problema similar y excluir DataSourceAutoConfiguration e HibernateJpaAutoConfiguration resolvió el problema.
He agregado estas dos líneas en mi archivo application.properties y funcionó.
fuente
Ya se publicaron suficientes respuestas. Sin embargo, estoy publicando qué error cometí y cómo lo corregí.
En mi caso, había empaquetado mi proyecto como en
pom
lugar dejar
pom.xml:
Cambiado a:
Puede ser útil para alguien con el mismo error.
fuente
Puede descargar el derby-10.10.1.1.jar desde el repositorio de Maven y colocarlo en su carpeta WEB-INF / lib, como esta Aplicación / WEB-INF / lib / derby-10.10.1.1.jar. Su AnnotationConfigEmbeddedWebApplicationContext incorporado recogerá el controlador de la base de datos y su servidor web comenzará a ejecutarse sin ningún problema :-)
fuente
Si está utilizando Gradle, incluya el tarro derecho del controlador de la siguiente manera:
O si usa Maven, hágalo al estilo Maven, debería resolver su problema.
fuente
Para cualquiera que llegue a este hilo después de horas de golpearse la cabeza contra la pared. Resolví este error cambiando
a
en mi archivo schema.sql en el directorio de recursos.
fuente