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_libraryGameLibrary 类:
@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.Swagger2Controller.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 - 应用程序无法启动
Tomcat 无法启动使用 Eclipse、JRebel 和 Spring Boot
dubbo + zookeeper + spring boot搭建过程&填坑记录
Spring Boot2 + Gradle5 + Log4j2 启动出现 StackOverflowError 问题的解决方法