Spring Boot 无法正确启动 [关闭]

Posted

技术标签:

【中文标题】Spring Boot 无法正确启动 [关闭]【英文标题】:Spring Boot Failing to Start Correctly [closed] 【发布时间】:2017-02-04 14:03:02 【问题描述】:

我的 Spring Boot 应用程序在启动时失败,日志如下。这是什么意思?

我正在使用 Hibernate Core v5.0.11.Final。

<pre>

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.1.RELEASE)

2016-09-27 02:55:31.899  INFO 5329 --- [           main] c.t.application.TaqnihomeApplication     : Starting TaqnihomeApplication on Songlines-MacBook-Air.local with PID 5329 (/Users/songline/Downloads/assignment-2/target/classes started by songline in /Users/songline/Downloads/assignment-2)
2016-09-27 02:55:31.904  INFO 5329 --- [           main] c.t.application.TaqnihomeApplication     : No active profile set, falling back to default profiles: default
2016-09-27 02:55:32.092  INFO 5329 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7722c3c3: startup date [Tue Sep 27 02:55:32 IST 2016]; root of context hierarchy
2016-09-27 02:55:33.792  INFO 5329 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Overriding bean definition for bean 'dataSource' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Generic; factoryMethodName=dataSource; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Generic.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari; factoryMethodName=dataSource; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]]
2016-09-27 02:55:34.412  INFO 5329 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$8ec63a75] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2016-09-27 02:55:35.085  INFO 5329 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2016-09-27 02:55:35.103  INFO 5329 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2016-09-27 02:55:35.104  INFO 5329 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.5
2016-09-27 02:55:35.280  INFO 5329 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2016-09-27 02:55:35.280  INFO 5329 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3192 ms
2016-09-27 02:55:35.492  INFO 5329 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2016-09-27 02:55:35.497  INFO 5329 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-09-27 02:55:35.498  INFO 5329 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2016-09-27 02:55:35.498  INFO 5329 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2016-09-27 02:55:35.498  INFO 5329 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2016-09-27 02:55:35.798  INFO 5329 --- [           main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2016-09-27 02:55:35.818  INFO 5329 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
	name: default
	...]
2016-09-27 02:55:35.917  INFO 5329 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate Core 5.0.11.Final
2016-09-27 02:55:35.919  INFO 5329 --- [           main] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2016-09-27 02:55:35.921  INFO 5329 --- [           main] org.hibernate.cfg.Environment            : HHH000021: Bytecode provider name : javassist
2016-09-27 02:55:35.990  INFO 5329 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations 5.0.1.Final
2016-09-27 02:55:36.268  INFO 5329 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Started.
2016-09-27 02:55:36.528  INFO 5329 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.mysqlDialect
2016-09-27 02:55:37.223  INFO 5329 --- [           main] org.hibernate.tool.hbm2ddl.SchemaUpdate  : HHH000228: Running hbm2ddl schema update
2016-09-27 02:55:37.266  INFO 5329 --- [           main] rmationExtractorJdbcDatabaseMetaDataImpl : HHH000262: Table not found: game_library
2016-09-27 02:55:37.363  WARN 5329 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
2016-09-27 02:55:37.364  INFO 5329 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Close initiated...
2016-09-27 02:55:37.370  INFO 5329 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Closed.
2016-09-27 02:55:37.372  INFO 5329 --- [           main] o.apache.catalina.core.StandardService   : Stopping service Tomcat
2016-09-27 02:55:37.390  INFO 5329 --- [           main] utoConfigurationReportLoggingInitializer : 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2016-09-27 02:55:37.398 ERROR 5329 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:851) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
	at com.taqnihome.application.TaqnihomeApplication.main(TaqnihomeApplication.java:34) [classes/:na]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
	at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
	... 16 common frames omitted
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Unable to execute schema management to JDBC target [alter table game_library add column game_id varchar(255) not null]
	at org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:59) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlString(SchemaMigratorImpl.java:431) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlStrings(SchemaMigratorImpl.java:449) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.tool.schema.internal.SchemaMigratorImpl.migrateTable(SchemaMigratorImpl.java:253) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigrationToTargets(SchemaMigratorImpl.java:170) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:60) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:134) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final]
	... 22 common frames omitted
Caused by: java.sql.SQLSyntaxErrorException: Table 'testingjpa.game_library' doesn't exist
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:686) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:663) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:653) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2041) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.mysql.cj.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1608) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.mysql.cj.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2630) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.mysql.cj.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1534) ~[mysql-connector-java-6.0.3.jar:6.0.3]
	at com.zaxxer.hikari.pool.ProxyStatement.executeUpdate(ProxyStatement.java:120) ~[HikariCP-2.4.7.jar:na]
	at com.zaxxer.hikari.pool.HikariProxyStatement.executeUpdate(HikariProxyStatement.java) ~[HikariCP-2.4.7.jar:na]
	at org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:56) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
	... 32 common frames omitted
</pre>

记录 TLDR;

HHH000228:正在运行 hbm2ddl 架构更新 HHH000262:找不到表:game_library

GameLibrary 类:

@Entity 
@Table(name = "game_library")
public class GameLibrary 

    @Id
    @Column(name = "game_id")
    private String gameId;
    @Column(name = "game_name")
    private String gameName;
    @Column(name = "game_genre")
    private String gameGenre;

    @ManyToOne
    @JoinColumn(name = "game_category", nullable = false)
    private GameCategory gameCategory;
    @Column(name = "game_version")
    private String gameVersion;
    @Column(name = "game_publiher")
    private String gamePublisher;
    @Column(name = "game_studio")
    private String gameStudio;
    @Column(name = "game_release_date")
    private Long gameReleaseDate;

    @Column
    private Double gameRating;

    @Column
    private String gamePlatform;
    @Column
    private Long creationDate;
    @Column
    private String googlePlayUrl;
    @Column
    private Long approvedDate;
    @Column
    private Boolean isApproved;
    @Column
    private String packageName;

    @ManyToMany(mappedBy = "gameLibrary", cascade = CascadeType.ALL)
    private List<GameProfile> gameProfiles;

    // getters and setters

使用创建字段值 ddl-auto 更新更改时的新日志

. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_||))))) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|===============|___/=/_/_/_/ :: Spring Boot :: (v1.4.1.RELEASE) 2016-09-27 12:47:50.815 INFO 5812 --- [main] ctapplication.TaqnihomeApplication:在 PID 5812 的 Songlines-MacBook-Air.local 上启动 TaqnihomeApplication(/Users/songline/Downloads/assignment-2/target/由 /Users/songline/Downloads/assignment-2 中的歌曲线开始的课程) 2016-09-27 12:47:50.818 INFO 5812 --- [main] c.t.application.TaqnihomeApplication:未设置活动配置文件,回退到默认配置文件:默认 2016-09-27 12:47:50.939 INFO 5812 --- [main] ationConfigEmbeddedWebApplicationContext:刷新 org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7722c3c3:启动日期 [2016 年 9 月 27 日星期二 12:47:50 IST];上下文层次的根 2016-09-27 12:47:52.624 INFO 5812 --- [main] o.s.b.f.s.DefaultListableBeanFactory:用不同的定义覆盖 bean 'dataSource' 的 bean 定义:替换 [Root bean: class [null];范围=;摘要=假;懒惰初始化=假;自动线模式=3;依赖检查=0;自动接线候选=真;主要=假; factoryBeanName=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Generic;工厂方法名=数据源;初始化方法名=空; destroyMethodName=(推断);在类路径资源 [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Generic.class]] 中定义,带有 [Root bean: class [null];范围=;摘要=假;懒惰初始化=假;自动线模式=3;依赖检查=0;自动接线候选=真;主要=假; factoryBeanName=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari;工厂方法名=数据源;初始化方法名=空; destroyMethodName=(推断);在类路径资源 [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class] 中定义 2016-09-27 12:47:53.213 INFO 5812 --- [main] trationDelegate$BeanPostProcessorChecker:Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' 类型 [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB $$8ec63a75] 不符合被所有 BeanPostProcessor 处理的条件(例如:不符合自动代理的条件) 2016-09-27 12:47:53.853 INFO 5812 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer:Tomcat 使用端口初始化:8080 (http) 2016-09-27 12:47:53.874 INFO 5812 --- [main] o.apache.catalina.core.StandardService:启动服务 Tomcat 2016-09-27 12:47:53.876 INFO 5812 --- [main] org.apache.catalina.core.StandardEngine:启动 Servlet 引擎:Apache Tomcat/8.5.5 2016-09-27 12:47:54.085 INFO 5812 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]:初始化 Spring 嵌入式 WebApplicationContext 2016-09-27 12:47:54.085 INFO 5812 --- [ost-startStop-1] os.web.context.ContextLoader:根 WebApplicationContext:初始化在 3153 毫秒内完成 2016-09-27 12:47:54.275 信息 5812 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean:映射 servlet:'dispatcherServlet' 到 [/] 2016-09-27 12:47:54.281 信息 5812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'characterEncodingFilter' 到:[/*] 2016-09-27 12:47:54.281 INFO 5812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'hiddenHttpMethodFilter' 到:[/*] 2016-09-27 12:47:54.282 INFO 5812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:“httpPutFormContentFilter”到:[/*] 2016-09-27 12:47:54.282 信息 5812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'requestContextFilter' 到:[/*] 2016-09-27 12:47:54.529 INFO 5812 --- [main] j.LocalContainerEntityManagerFactoryBean:为持久性单元“默认”构建 JPA 容器 EntityManagerFactory 2016-09-27 12:47:54.552 INFO 5812 --- [main] o.hibernate.jpa.internal.util.LogHelper:HHH000204:处理 PersistenceUnitInfo [ 名称:默认 ...] 2016-09-27 12:47:54.640 INFO 5812 --- [main] org.hibernate.Version : HHH000412: Hibernate Core 5.0.11.Final 2016-09-27 12:47:54.642 INFO 5812 --- [main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties 未找到 2016-09-27 12:47:54.644 INFO 5812 --- [main] org.hibernate.cfg.Environment:HHH000021:字节码提供程序名称:javassist 2016-09-27 12:47:54.691 INFO 5812 --- [main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations 5.0.1.Final 2016-09-27 12:47:54.965 信息 5812 --- [主要] com.zaxxer.hikari.HikariDataSource:HikariPool-1 - 已启动。 2016-09-27 12:47:55.253 INFO 5812 --- [main] org.hibernate.dialect.Dialect:HHH000400:使用方言:org.hibernate.dialect.MySQLDialect 2016-09-27 12:47:56.049 INFO 5812 --- [main] org.hibernate.tool.hbm2ddl.SchemaExport:HHH000227:运行 hbm2ddl 模式导出 2016-09-27 12:47:56.441 INFO 5812 --- [main] org.hibernate.tool.hbm2ddl.SchemaExport:HHH000230:模式导出完成 2016-09-27 12:47:56.489 INFO 5812 --- [main] j.LocalContainerEntityManagerFactoryBean:为持久性单元“默认”初始化 JPA EntityManagerFactory 2016-09-27 12:47:57.575 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/login],methods=[POST]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.login(com.taqnihome.domain.User) 2016-09-27 12:47:57.577 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/signup],methods=[POST]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.saveData(com.taqnihome.domain.User) 2016-09-27 12:47:57.577 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/search],methods=[POST]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.checkMacAddress(com.taqnihome.domain.User) 2016-09-27 12:47:57.577 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/addGameToProfile],methods=[POST]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.addGameToProfile(com.taqnihome.domain.GameProfile) 2016-09-27 12:47:57.578 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/updateGameToProfile],methods=[PUT]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.updateGameToProfile(com.taqnihome.domain.GameProfile) 2016-09-27 12:47:57.578 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/addGameRequestToLibrary],methods=[POST]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.addGameRequestToLibrary(java.lang.String,java.lang.String) 2016-09-27 12:47:57.578 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/getAllLibraryGames],methods=[GET]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.getAllGames() 2016-09-27 12:47:57.578 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/getGameProfileByUser],methods=[GET]”映射到公共 org.springframework.http.ResponseEntity com.taqnihome.controller .HomeController.getAllProfileGames(com.taqnihome.domain.User) 2016-09-27 12:47:57.579 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:映射“[/v2/api-docs],methods=[GET],produces=[application/json || application/hal +json]" 到公共 org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Sw​​agger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest) 2016-09-27 12:47:57.584 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/swagger-resources/configuration/ui]”映射到 org.springframework.http.ResponseEntity springfox.documentation.swagger。 web.ApiResourceController.uiConfiguration() 2016-09-27 12:47:57.590 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/swagger-resources/configuration/security]”映射到 org.springframework.http.ResponseEntity springfox.documentation.swagger。 web.ApiResourceController.securityConfiguration() 2016-09-27 12:47:57.591 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/swagger-resources]”映射到 org.springframework.http.ResponseEntity> springfox.documentation.swagger.web.ApiResourceController .swaggerResources() 2016-09-27 12:47:57.595 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/error]”映射到公共 org.springframework.http.ResponseEntity> org.springframework.boot.autoconfigure.web。 BasicErrorController.error(javax.servlet.http.HttpServletRequest) 2016-09-27 12:47:57.595 INFO 5812 --- [main] swsmmaRequestMappingHandlerMapping:将“[/error],produces=[text/html]”映射到公共 org.springframework.web.servlet.ModelAndView org .springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 2016-09-27 12:47:57.914 INFO 5812 --- [main] swsmmaRequestMappingHandlerAdapter: 寻找@ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7722c3c3: 启动日期 [9 月 27 日星期二 12:47: 50 IST 2016];上下文层次的根 2016-09-27 12:47:58.017 INFO 5812 --- [main] oswshandler.SimpleUrlHandlerMapping:将 URL 路径 [/webjars/**] 映射到 [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler ] 2016-09-27 12:47:58.017 INFO 5812 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/**] 映射到 [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 类型的处理程序上 2016-09-27 12:47:58.068 INFO 5812 --- [main] oswshandler.SimpleUrlHandlerMapping:将 URL 路径 [/**/favicon.ico] 映射到 [class org.springframework.web.servlet.resource .ResourceHttpRequestHandler] 2016-09-27 12:47:58.430 INFO 5812 --- [main] o.s.j.e.a.AnnotationMBeanExporter:在启​​动时为 JMX 暴露注册 bean 2016-09-27 12:47:58.437 INFO 5812 --- [main] o.s.j.e.a.AnnotationMBeanExporter:名为“dataSource”的 Bean 已被自动检测到 JMX 暴露 2016-09-27 12:47:58.443 INFO 5812 --- [main] o.s.j.e.a.AnnotationMBeanExporter:位于 MBean 'dataSource':向 JMX 服务器注册为 MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource] 2016-09-27 12:47:58.449 INFO 5812 --- [main] o.s.c.support.DefaultLifecycleProcessor:在阶段 2147483647 中启动 bean 2016-09-27 12:47:58.449 INFO 5812 --- [main] d.s.w.p.DocumentationPluginsBootstrapper:上下文刷新 2016-09-27 12:47:58.476 INFO 5812 --- [main] d.s.w.p.DocumentationPluginsBootstrapper:找到 1 个自定义文档插件 2016-09-27 12:47:58.487 INFO 5812 --- [main] s.d.s.w.s.ApiListingReferenceScanner:扫描 api 列表引用 2016-09-27 12:47:58.843 INFO 5812 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer:Tomcat 在端口:8080 (http) 上启动 2016-09-27 12:47:58.850 INFO 5812 --- [main] c.t.application.TaqnihomeApplication:在 8.563 秒内启动 TaqnihomeApplication(JVM 运行 8.995)

【问题讨论】:

请不要大喊大叫。 你的配置文件有奖励吗? 我阅读了您的堆栈跟踪,并提出了一个答案。我将建议进行编辑以缩小堆栈跟踪,并指出具体细节。 太好了,众神已经被它惹恼了。他们几乎不知道这不是题外话,并且提供了问题(只需要简明扼要)。如果问题不再存在,希望您可以标记答案并删除最后的日志。否则,请编辑问题以解释仍然存在的问题。 我建议将日志移至 gists (gist.github.com) 并链接回它们。 【参考方案1】:

Hibernate 很适合,因为您告诉它这样做(有意或无意):

alter table game_library add column game_id varchar(255) not null

但是,Table 'testingjpa.game_library' doesn't exist

修复您的数据库或修复您的 game_library 对象定义或映射。

它可能已从您的数据库中消失,或者您将其指向错误或更旧的数据库。

【讨论】:

我使用的是MySql Workbench,版本是5.7 您在@n***s 回答的评论中说您将更新更改为创建,它创建了表。也许您应该使用新的日志输出更新您的问题? 您也可以发布数据库中的表列表(例如 MySQL:SHOW TABLES 在ddl-auto中使用create时添加了新日志 根据那些日志...一切正常?【参考方案2】:

查看 Hibernate 为您提供的错误消息:

java.sql.SQLSyntaxErrorException:表“testingjpa.game_library”不存在

您指的是数据库中尚不存在的表,或者您的数据库用户无权访问该表。这会导致 Spring 在设置您的实体管理器工厂时失败,并最终导致整个 Spring 上下文。错误的 SQL 语句似乎是:

alter table game_library 添加列 game_id varchar(255) not null

如果它位于 schema.sql 文件或您正在运行以设置数据库的其他架构配置文件中,则必须确保在运行此 alter 语句之前正确创建了表。

查看Database initialization 上的 Spring Boot 文档。如果您希望表是自动生成的,请确保在 application.properties 文件中将 spring.jpa.generate-ddl 标志设置为 true。

【讨论】:

有log语句; HHH000228: Running hbm2ddl schema update ... 不是说generate-ddl 已经是true了吗? @TylerY86 好点,我不确定。我必须运行一个示例来查看 Hibernate 记录的内容。 @TylerY86 是的,它已经是真的了 @TylerY86 只有 game_library 类的问题。我有其他名为 game_category 的类,并为此创建了表,但没有为 game_library 创建表。你想看看 game_library 对象吗? 我认为@n***s 更有资格为您提供帮助。欢迎您更新您的帖子并修改您的问题以包含 game_library 定义。 :)

以上是关于Spring Boot 无法正确启动 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot + Tomcat + Jetty - 应用程序无法启动

Spring Boot 测试不启动上下文或加载依赖项

Tomcat 无法启动使用 Eclipse、JRebel 和 Spring Boot

spring boot启动自动关闭

dubbo + zookeeper + spring boot搭建过程&填坑记录

Spring Boot2 + Gradle5 + Log4j2 启动出现 StackOverflowError 问题的解决方法