スプリングレストで開始しながら、私は次のエラーを受け取りました
org.springframework.beans.factory.BeanCreationException:「jpaMappingContext」という名前のBeanの作成エラー:initメソッドの呼び出しに失敗しました。ネストされた例外はJava.lang.IllegalArgumentExceptionです:少なくとも1つのJPAメタモデルが存在する必要があります! org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.Java:1595)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]でorg.springframeworkで。 beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.Java:566)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.Java:482)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.Java:304)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.Java: 230)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] at 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.getBeanで(AbstractBeanFactory.Java:195)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.Java: 725)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] at 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-SNAPSHOT.jar:2.0] .0.BUILD-SNAPSHOT] org.springframework.boot.SpringApplication.refreshContext(SpringApplication.Java:369)[org-spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT] 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] at org.springframework.boot.SpringApplication.run(SpringApplication.Java:1150)[spring-boot-2.0 .0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT] at com.Java.app.QuickPollApplication.main(QuickPollApplication.Java:14)[classes /:na]原因:Java.lang.IllegalArgumentException:At少なくとも1つのJPAメタモデルが存在する必要があります! 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でmapping.JpaMetamodelMappingContext。(JpaMetamodelMappingContext.Java:52)〜[spring-data-jpa-1.11.0.BUILD-SNAPSHOT.jar:na] at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean。 Java:71)〜[spring-data-jpa-1.11.0.BUILD-SNAPSHOT.jar:na] at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryFactoryBean.createInstance(JpaMetamodelMappingContextFactoryFactory.Java:26)〜[spring -data-jpa-1.11.0.BUILD-SNAPSHOT.jar:na] at 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:1591)〜[spring-beans-5.0.0] .BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] ... 16の共通フレームは省略されています
次のコードで
@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";
}
以下は私の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>
私を助けてください。このエラーを解決する方法がわかりません
追加しました
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
pom.xmlで。
SpringブートはJPAのエンティティファクトリを自動的に作成しようとしますが、JPAモデルに関しては何も定義していません。
これを削除してみて、これまでに何をしたかをテストしてください。
その後、 this guy のようなspring-data-starter-jpaを使用してチュートリアルを確認できます
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>
完全に機能する例をこちらで見つけることができます: https://github.com/zobarov/ptc-task-executor
次の自動構成クラスを除外することで、Spring Data JPAのリポジトリサポートを無効にすることもできます(たとえば、@EnableAutoConfiguration
または@SpringBootApplication
アノテーションで)
org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration
例えば:
@EnableAutoConfiguration(exclude = JpaRepositoriesAutoConfiguration.class)
これは私のために働いた。
<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>