Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro ao iniciar depois de inserir dependencia do jpa

O projeto deixa de subir depois de inserir a dependencia do jpa no pom.xml:

<dependency>            
    <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>2.0.1.RELEASE</version>
</dependency>

 :: Spring Boot ::        (v1.4.1.RELEASE)

2018-04-27 17:14:24.483  INFO 11308 --- [           main] br.com.renato.springBoot.Configuracao    : Starting Configuracao on dinfo05772 with PID 11308 (C:\projetosJEE\springBoot\target\classes started by daiwid.couto in C:\projetosJEE\springBoot)
2018-04-27 17:14:24.486  INFO 11308 --- [           main] br.com.renato.springBoot.Configuracao    : No active profile set, falling back to default profiles: default
2018-04-27 17:14:24.756  INFO 11308 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@18b0af83: startup date [Fri Apr 27 17:14:24 BRT 2018]; root of context hierarchy
2018-04-27 17:14:24.923  WARN 11308 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [br.com.renato.springBoot.Configuracao]; nested exception is java.lang.UnsupportedClassVersionError: org/springframework/data/web/config/EnableSpringDataWebSupport : Unsupported major.minor version 52.0
2018-04-27 17:14:24.933 ERROR 11308 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [br.com.renato.springBoot.Configuracao]; nested exception is java.lang.UnsupportedClassVersionError: org/springframework/data/web/config/EnableSpringDataWebSupport : Unsupported major.minor version 52.0
6 respostas

Oi Daiwid, boa noite! Qual versão do java você está utilizando? Esse erro costuma dar quando estamos utilizando uma versão anterior ao java 8.

Obrigado pela resposta.... Fiz a atualização para o java8 e testei várias versões do JPA, mesmo assim o problema persiste, sempre que coloco a dependencia do JPA no pom.xml o projeto para, estou querendo prosseguir para testes com banco, mas está parado na configuração...por favor alguem mais passou por esse problema??? segue o erro:

2018-05-02 12:17:19.744 ERROR 11124 --- [ main] o.s.boot.SpringApplication : Application startup failed

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]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).

O Spring não está conseguindo injetar o DataSource. Você poderia postar aqui seu arquivo pom.xml e as classes de configuração de sua aplicação?

Boa tarde, 
seguem os arquivos,  deixei o mínimo pra tentar achar o problema   

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.renato</groupId>
  <artifactId>springBoot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>1.3.6.RELEASE</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
                <version>1.3.6.RELEASE</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
                <version>1.3.6.RELEASE</version>
            </dependency>
</dependencies>
</project>


package br.com.renato.springBoot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
@SpringBootApplication
@Controller
public class Configuracao {    
     public static void main(String[] args) {
         SpringApplication.run(Configuracao.class, args);
    } 
} 

package br.com.renato.springBoot;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class indexController {
    @RequestMapping("/")
    public String inicio(){
        return "index";
    }
}
solução!

Certo, está faltando esta dependência se você estiver utilizando o mysql (como no curso):

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.40</version>
</dependency>

Além disso, você configurou os dados da conexão em um arquivo chamado application.propertiesou fez por código? No curso é feito em uma classe de configuração (na classe Configuracao), assim:

@Bean
public DataSource dataSource(){
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://localhost:3306/listavip");
    dataSource.setUsername("root");
    dataSource.setPassword("root");
    return dataSource;
}

obs.: Só não esqueça de trocar as informações para estarem de acordo com suas configurações locais.

Sem esta configuração o Spring não será capaz de injetar o DataSource que é o que o erro está dizendo em: Could not autowire field: private javax.sql.DataSource.

Tente fazer isso e se o erro ainda persistir, poste os problemas aqui.

Resolvido, eu tinha desfeito alguns passos quando começou a dar erro por causa da versão do java. Obrigado pela ajuda