I used Spring Initializr to initialize a new project. I further added MySQL Driver, Spring Data JPA, Spring Boot Actuator, and Spring Web as project dependencies. Exporting the .zip file, the only thing I did is, changed the application.properties file. When I run the application, it starts and stops immediately. Here’s the response:
JavaScript
x
2020-10-29 14:46:52.414 INFO 150728 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting
2020-10-29 14:46:58.679 INFO 150728 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2020-10-29 14:46:58.705 INFO 150728 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2020-10-29 14:46:58.832 DEBUG 150728 --- [ main] o.h.type.spi.TypeConfiguration$Scope : Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@2b6a0ea9] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@4dde8976]
2020-10-29 14:46:59.028 DEBUG 150728 --- [ main] o.h.type.spi.TypeConfiguration$Scope : Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@2b6a0ea9] to SessionFactoryImpl [org.hibernate.internal.SessionFactoryImpl@74b86971]
2020-10-29 14:47:17.727 INFO 150728 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2020-10-29 14:47:17.737 TRACE 150728 --- [ main] o.h.type.spi.TypeConfiguration$Scope : Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@74b86971] for TypeConfiguration
2020-10-29 14:47:17.739 INFO 150728 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-10-29 14:47:17.892 INFO 150728 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 28.826 seconds (JVM running for 29.63)
2020-10-29 14:47:17.905 INFO 150728 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-10-29 14:47:17.905 TRACE 150728 --- [extShutdownHook] o.h.type.spi.TypeConfiguration$Scope : Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@74b86971] for TypeConfiguration
2020-10-29 14:47:17.906 DEBUG 150728 --- [extShutdownHook] o.h.type.spi.TypeConfiguration$Scope : Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@ae36ddd] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@74b86971]
2020-10-29 14:47:17.910 INFO 150728 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated
2020-10-29 14:47:18.760 INFO 150728 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
and my application.properties file:
JavaScript
server.contextPath=/
server.port=4000
#data-source configurations
spring.datasource.url=jdbc:mysql://host:3306/schema?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
# DDL generation
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.open-in-view=false
#Turn Statistics on
spring.jpa.properties.hibernate.generate_statistics=true
logging.level.org.hibernate.stat=debug
# Show all queries
spring.jpa.show-sql=true
spring.data.jpa.repositories.bootstrap-mode=default
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.type=trace
My pom.xml file is as follows:
JavaScript
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<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>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
Advertisement
Answer
If you used Spring Initializr to set up your project, you might probably have
JavaScript
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0-SNAPSHOT</version>
<relativePath />
</parent>
as a parent dependency or a similar version of spring-boot-starter-parent
which is not yet released on maven central. So I suggest you go to maven central and import the latest release, for me it was:
JavaScript
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
And this fixed my problem.