Este é o erro gerado ao tentar executar meu aplicativo da 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)
Eu acredito que tenho a combinação certa de datanucleus-appengine
e datanucleus
jarros:
2.1: Requer o DataNucleus 3.1.x (núcleo, api-jdo, api-jpa, aprimorador). Requer SDK 1.6.4+. Observe que esta versão do Datanucleus não é mais suportada pelo projeto DataNucleus
Configuração do aplicativo 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>
Gostaria de saber o que poderia estar faltando no meu aplicativo? Segui as instruções aqui Usando o Spring Data JPA no Google Appengine
Respostas:
Você não forneceu ao Spring Boot informações suficientes para configurar automaticamente a
DataSource
. Para fazer isso, você vai precisar adicionar algumas propriedades paraapplication.properties
com ospring.datasource
prefixo. Dê uma olhada no DataSourceProperties para ver todas as propriedades que você pode definir.Você precisará fornecer o nome apropriado da classe de URL e driver:
fonte
java -jar myJar.jar
ele está me dando o mesmo erro.spring.datasource.url = … spring.datasource.driver-class-name = …
propriedades. Então eu adicionei@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
na minha classe principal. Mas depois de colocar isso agora, estou recebendo erroParameter 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 ajude.Se você deseja usar o banco de dados H2 incorporado do iniciador do Spring Boot, adicione a dependência abaixo ao seu arquivo pom.
Mas, como mencionado nos comentários, o banco de dados H2 incorporado mantém os dados na memória e não os armazena permanentemente.
fonte
Eu teria o mesmo problema e excluir o DataSourceAutoConfiguration resolveu o problema.
fonte
application.properties
, comospring.main.web-environment=false
@EnableAutoConfiguration
em uma classe não SpringBootApplication e tive que adicionar a exclusão também. TBH, eu provavelmente não preciso de@EnableAutoConfiguration
lá em primeiro lugar: /Isso funcionou para mim (1.3.0.M5):
Exclua as duas classes.
Não funcionou com
fonte
Você pode adicionar
para o seu
application.properties
arquivo.fonte
Agora que olho mais de perto, acho que o problema do DataSource é um problema. A configuração automática do Hibernate da inicialização está sendo acionada e é isso que faz com que um DataSource seja necessário. O Hibernate está no caminho de classe porque você tem uma dependência da
spring-boot-starter-data-jpa
qual puxahibernate-entitymanager
.Atualize sua
spring-boot-starter-data-jpa
dependência para excluir o Hibernate:fonte
Do manual da primavera .
Para mim, deixei de fora a dependência spring-boot-starter-data-jpa e apenas o uso da dependência spring-boot-starter-jdbc funcionou como um encanto, desde que eu tivesse h2 (ou hsqldb) incluído como dependências.
fonte
A inicialização do Spring procurará propriedades de dataoure no arquivo application.properties.
Defina-o no arquivo application.properties ou yml
application.properties
Se você precisar de sua própria configuração, poderá definir seu próprio perfil e usar os valores da fonte de dados durante a criação do bean.
fonte
Não, se for tarde demais para responder. Eu poderia resolver esse problema excluindo o DataSourceAutoConfiguration da inicialização por primavera.
fonte
Eu enfrentei essa exceção enquanto fazia APIs para o ElasticSearch usando o Spring Data. Eu fiz o seguinte e funcionou.
fonte
Eu tinha duas dependências com o groupId do org.springframework.data, depois removi o jpa e mantive apenas o mongodb, e funcionou!
fonte
Resolvo meu problema apenas adicionando @AutoConfigureTestDatabase (replace = Replace.NONE)
fonte
Recebi a mensagem de erro no título
o.s.b.d.LoggingFailureAnalysisReporter
junto com a mensagem "O APLICATIVO FOI INICIADO". Aconteceu que eu não havia adicionado-Dspring.profiles.active=dev
à minha configuração de depuração do Eclipse, portanto não tinha perfil ativo.fonte
Run -> Debug configurations... -> Maven build -> [build name] -> JRE -> VM arguments
)Eu também enfrentei o mesmo problema.
No meu caso, excluir o arquivo jar do repositório correspondente ao banco de dados corrige o problema. Havia um frasco corrompido presente no repositório que estava causando o problema.
fonte
No meu caso, coloquei uma dependência grave para org.jasig.cas no meu pom, que acionou uma dependência de hibernação e fez com que o Spring Boot procure uma fonte de dados para configurar automaticamente a persistência de hibernação. Eu o resolvi adicionando a dependência do com.h2database conforme sugerido por user672009. Obrigado rapazes!
fonte
Como este é um dos primeiros tópicos retornados no google por esse erro, postarei o que fiz caso alguém enfrente o mesmo problema. Não quis excluir
DataSourceAutoConfiguration
nem usar um banco de dados de memória.No meu caso, eu estava definindo os parâmetros como os outros replicadores disseram, mas o
application.properties
arquivo estava dentro da pasta errada .. lolPortanto, caso nada disso funcione, verifique se o arquivo está dentro
src/main/resources
! No meu caso estava dentrosrc/main/resources/static
fonte
A resposta é muito simples, o SpringBoot procurará o driver de banco de dados incorporável. Se você não configurou nenhuma das suas configurações em forma de XML ou anotações, isso gerará essa exceção. Faça as alterações em sua anotação como esta
isso excluirá o DataSourceAutoConfiguration. E a conclusão da Perfect Simple Coding funcionaria se você configurasse corretamente sua classe.fonte
Fazendo abaixo funciona.
Mas se eu queria ter dataSource, não deveria fazer a configuração acima. O link abaixo diz que precisamos de todas as propriedades no arquivo application.properties. Todas as propriedades devem começar com
spring.datasource.*
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
fonte
Se você realmente precisa de "spring-boot-starter-data-jpa" como sua dependência do projeto e, ao mesmo tempo, não deseja permitir que seu aplicativo acesse nenhum banco de dados, você pode simplesmente excluir as classes de configuração automática
fonte
Tentei todas as coisas mencionadas acima, mas não consegui resolver o problema. Estou usando o SQLite e meu arquivo SQLite estava no diretório de recursos.
a) Configuração feita para IDE
Preciso adicionar manualmente as linhas abaixo no arquivo .classpath do meu projeto.
Depois disso, atualizei e limpei o projeto no MenuBar na parte superior. como Projeto-> Limpar-> Nome do Meu Projeto.
Depois disso, eu executo o projeto e o problema foi resolvido.
application.properties para o meu projeto é
b) Configuração concluída se a implantação do Jar gerar o mesmo erro
Você precisa adicionar as seguintes linhas ao seu pom.xml
Pode ser que possa ajudar alguém.
fonte
se você não possui nenhum banco de dados em seu aplicativo, desative a configuração automática da fonte de dados adicionando a anotação abaixo.
fonte
O mesmo para @Anas. Eu posso executá-lo no Eclipse, mas quando eu uso "java -jar ..." executá-lo, isso me dá esse erro. Então, acho que meu caminho de compilação java está errado, faltando a pasta "src / main / resources", portanto, o aplicativo não consegue encontrar application.properties. Quando adiciono a pasta "src / main / resources" no caminho de compilação java, ela funcionou.
E você precisa adicionar "@PropertySource ({" application.properties "})" na sua classe Application.
Captura de tela-1
Captura de tela-2
fonte
Foi assim que resolvi esse problema.
No meu caso: eu tive que configurar a fonte de dados para o MySQL Server, que era um servidor externo.
Como todos sabemos, a inicialização do Spring tem a capacidade de configurar automaticamente o DataSource para bancos de dados incorporados.
Assim, percebi que tinha que desativar a configuração automática da fonte de dados para usar minha configuração personalizada.
Como mencionado acima por muitos, desativei a configuração Automática do DataSource do Spring Boot em application.properties
Eu defini todas as propriedades de configuração do hibernate em um arquivo separado: hibernate-mysql.properties
Em seguida, codifiquei minha própria configuração de hibernação personalizada da seguinte maneira e resolvi o problema.
Minha maneira de configurar o DataSource desejado com base nas propriedades em um arquivo de propriedades personalizadas e preencher o LocalSessionFactoryBean com sua fonte de dados e outras configurações de hibernação.
Classe de configuração personalizada do Hibernate: -
-------------------------------------------- -------------
Configuração personalizada de hibernação
fonte
Use isso abaixo dependência.
fonte
No meu caso, usando o IDEA, depois de remover o
out
diretório, tudo volta ao normal. Só não sei por que, mas deu certo.fonte
Eu teria o problema semelhante e excluir o DataSourceAutoConfiguration e o HibernateJpaAutoConfiguration resolveu o problema.
Eu adicionei essas duas linhas no meu arquivo application.properties e funcionou.
fonte
Já foram postadas respostas suficientes. No entanto, estou postando o erro que cometi e como o corrigi.
No meu caso, eu empacotei meu projeto como em
pom
vez dejar
pom.xml:
Alterado para:
Pode ser útil para alguém com o mesmo erro.
fonte
Você pode fazer o download do derby-10.10.1.1.jar no Maven Repository e colocá-lo em sua pasta WEB-INF / lib, como este Aplicativo / WEB-INF / lib / derby-10.10.1.1.jar. Seu AnnotationConfigEmbeddedWebApplicationContext incorporado capturará o driver do banco de dados e seu servidor web começará a ser executado sem problemas :-)
fonte
Se você estiver usando o Gradle, inclua o frasco correto do driver, como abaixo:
Ou, se usar o Maven e fazê-lo no estilo Maven, deve resolver o seu problema.
fonte
Para quem chega a esse segmento depois de horas batendo sua cabeça contra uma parede. Eu resolvi esse erro alterando
para
no meu arquivo schema.sql no diretório de recursos.
fonte