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

Erro ao tentar subir a aplicação

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]: Factory method 'entityManagerFactory' threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.setPersistenceUnitRootLocation(Ljava/lang/String;)

10 respostas

Oi Cristiano, esse é um erro incomum de ver em apps que usam o springboot.. como está seu pom.xml? Pq NoSuchMethodError geralmente é problema de versão da biblioteca..

<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.alura.listavip</groupId>
    <artifactId>listavip</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.4.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>1.4.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>1.4.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.15</version>
        </dependency>
    </dependencies>
</project>

Opa fala Cristiano beleza? Você criou algum construtor?

Não entendi a pergunta, Alisson.

Oi Cristiano, nessa parte aqui:

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

Tenta trocar para 1.4.1.RELEASE ? Mas é só um chute...

Troquei e não resolve, continua o mesmo erro.

Bom, alguma lib do módulo do hibernate do spring foi resolvida com uma versão errada.. um outro chute, é pedir para o maven baixar tudo de novo...

solução!

Após alterar meu arquivo pom.xml exatamente como estava sugerido no vídeo, o erro não ocorreu mais. Segue o meu arquivo pom.xml como ficou:

<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>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency>
    </dependencies>

Observação MUITO IMPORTANTE: Tenho notado muitas das vezes que as dependencias do Maven nos vídeos não são as mesmas dependencias nos arquivos textos de explicação, e ainda muitos instrutores sugerem para usar as dependecias mais novas, sendo que em muitos dos casos estão ocorrendo erros, conforme esse que relatei e é onde se é perdido muito tempo na depuração do erro. Fica aqui a dica para todos os alunos a tentarem seguir as dependecias do Maven que estão nos videos e nao as que estão nos arquivos de explicação, visto que a segunda alternativa não foi testada pelo instrutor responsável.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software