web-dev-qa-db-fra.com

IllegalArgumentException: au moins un métamodèle JPA doit être présent.

en commençant par le repos du printemps, je suis erreur suivante

org.springframework.beans.factory.BeanCreationException: Erreur lors de la création d'un bean avec le nom 'jpaMappingContext': L'appel de la méthode init a échoué; L'exception imbriquée est Java.lang.IllegalArgumentException: au moins un métamodèle JPA doit être présent! at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.Java:1595) ~ printemps-beans-5.0.0.BUILD-SNAPHH beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.Java:566) ~ [spring-beans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à orgprendre le processus de prise de vue de l'arc .AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.Java:482) ~ [spring-beans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.beans.factory. (AbstractBeanFactory.Java:304) ~ [spring-beans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonBeanRegistry.getSingletonBeanRegistry () 230) ~ [spring-beans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.beans.factory.suppo rt.AbstractBeanFactory.doGetBean (AbstractBeanFactory.Java:300) ~ [spring-beans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.beans.factory.support.AbstractBeanFactory.get (AbstractBeanFactory.Java:195) ~ [spring-beans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletal ( 725) ~ [spring-beans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.Java:866) ~ [spring-context -5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.Java:542) ~ [spring-context-5.0.0.BUILD- SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.Java:122) ~ [spring-boot-2.0 .0.BUILD-SNAPSHOT.jar: 2.0.0.BUILD-SNAPSHOT] à org.springframework.boot.SpringApplication.refresh (SpringApplication.Java:736) [spring-boot-2.0.0.BUILD-SNAPSSHOT.jar: 2.0 .0.BUILD-SNAPSHOT] à org.springframework.boot.SpringApplication.refreshContext (SpringApplication.Java:369) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar: 2.0.0.BUILD-SNAPSHOT] à l'organisation springframework.boot.SpringApplication.run (SpringApplication.Java:313) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar: 2.0.0.BUILD-SNAPSHOT] à org.springframework.boot.SpringApplication.run (SpringApplication). Java: 1161) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar: 2.0.0.BUILD-SNAPSHOT] à org.springframework.boot.SpringApplication.run (SpringApplication.Java:1150) [spring-boot-2.0 .0.BUILD-SNAPSHOT.jar: 2.0.0.BUILD-SNAPSHOT] à com.Java.app.QuickPollApplication.main (QuickPollApplication.Java:14) [classes /: na] provoqué par: Java.lang.IllegalArgumentException: à au moins un métamodèle JPA doit être présent! at org.springframework.util.Assert.notEmpty (Assert.Java:438) ~ [spring-core-5.0.0.BUILD-SNAPSHOT.jar - 5.0.0.BUILD-SNAPSHOT] à org.springframework.data.jpa. cartographie.JpaMetamodelMappingC. Java: 71) ~ [spring-data-jpa-1.11.0.BUILD-SNAPSHOT.jar: nd] à org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance (JpaMetamodelMappingContextFactoryBank) -data-jpa-1.11.0.BUILD-SNAPSHOT.jar: na] à org.springframework.beans.factory.config.AbstractFactoryBean.afterPropertiesSet (AbstractFactoryBean.Java:134) ~ [spring-beans-5.0.0.BUILD- SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.Java:1654) ~ [spring-be ans-5.0.0.BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.Java:15) .BUILD-SNAPSHOT.jar: 5.0.0.BUILD-SNAPSHOT] ... 16 trames communes omises

avec le code suivant

@SpringBootApplication
@RestController
public class QuickPollApplication {

    public static void main(String[] args) {
        SpringApplication.run(QuickPollApplication.class, args);
    }

    @RequestMapping(value = "/test", method = RequestMethod.GET)
    public String testRest() {
        return "rest tested";
    }

et voici mon pom.xml

UTF-8 UTF-8 1.8

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
        </dependency>

        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

Aidez-moi, s'il vous plaît. Je ne sais pas comment résoudre cette erreur

17
user_xyz.LOL

Vous avez ajouté 

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

dans votre pom.xml.

Spring Boot essayera de créer automatiquement une fabrique d’entités pour jpa, mais vous n’avez rien défini concernant les modèles JPA.

Essayez de l'enlever afin de tester ce que vous avez fait jusqu'à présent.

Ensuite, vous pouvez consulter un tutoriel en utilisant spring-data-starter-jpa comme this guy

23
sfat

Je l'ai corrigé en définissant une nouvelle version d'Hibernate.

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
         <exclusions>
             <exclusion>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.10.Final</version>
    </dependency>

Vous pouvez trouver un exemple pleinement fonctionnel ici: https://github.com/zobarov/ptc-task-executor

7
AlexGera

Cela a fonctionné pour moi. 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
     <exclusions>
         <exclusion>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.10.Final</version>
</dependency>
0
Nandan