Run the Jar package the spring boot application with data spring jpa and the mysql connector have different results in the Windows 10 environment and the linuxmint environment.
If this application runs on linuxmint it works perfectly, but if it starts in Windows 10 an error like this occurs:
ERROR org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]:
Invocation of init method failed; nested exception is javax.persistence.PersistenceException:
[PersistenceUnit: default] Unable to build Hibernate SessionFactory;
nested exception is org.hibernate.exception.GenericJDBCException:
Unable to open JDBC Connection for DDL execution
this is pom.xml dependencies
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-security
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
org.controlsfx
controlsfx
8.40.10
de.jensd
fontawesomefx
8.9
org.hibernate
hibernate-jpamodelgen
net.sf.jasperreports
jasperreports
6.2.0
org.apache.poi
poi
3.12
org.jfxtras
jfxtras-all
8.0-r5
org.springframework
spring-context-support
org.apache.commons
commons-lang3
org.slf4j
slf4j-api
org.slf4j
slf4j-log4j12
com.google.zxing
core
3.3.3
com.google.zxing
javase
3.3.3
commons-codec
commons-codec
And this application.properties
# datasourcce
spring.datasource.url=jdbc:mysql://localhost/apotekfxboot
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# hibernate
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
Note:
Both of these environments use the same mariadb version, which is 10.1.19.
Coding is done in the linuxmint environment
解决方案
Try changing
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
to
spring.datasource.driverClassName=com.mysql.jdbc.Driver