커넥터 버전이 변경된 경우 SpringBoot 앱이 MariDB에 연결할 수 없음
MariaDB 커넥터 버전 2.7.6에서 잘 작동하는 SpringBoot 응용 프로그램이 있습니다.커넥터를 버전 3.0.6으로 업그레이드하려고 했는데 다음 오류가 발생합니다.
[org.springframework.org.m.jpa]를 인스턴스화하지 못했습니다.로컬 컨테이너 엔티티 관리자 공장 Bean]:공장 메서드 'entityManagerFactory'에서 예외를 발생시켰습니다. 중첩된 예외는 java.lang입니다.런타임 예외:드라이버 org.mariadb.jdbc.드라이버가 jdbcUrl, jdbc:mysql://localhost:3306/dbname을(를) 수락하지 않는다고 주장합니다.
내 application.properties는 다음과 같습니다.
spring.datasource.url=jdbc:mysql://localhost:3306/dbname
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driverClassName=org.mariadb.jdbc.Driver
나의 Gradle 의존성은
dependencies {
testImplementation 'junit:junit:4.13.2'
testImplementation('org.junit.vintage:junit-vintage-engine'){
exclude group: 'org.hamcrest', module:'hamcrest-core'
}
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation ('org.springframework.boot:spring-boot-starter-test'){
exclude group: "com.vaadin.external.google", module:"android-json"
}
implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.6' // when 3.0.6 it is not working
implementation 'org.json:json:20220320'
}
감 잡히는 게 없어요?
3.0 이후의 MariaDB 커넥터만 허용jdbc:mariadb
기본 접두사:
mysql AND mariadb 드라이버를 동일한 클래스 경로에서 사용할 수 있는 경우가 있으므로 이제 드라이버만 허용합니다.
jdbc:mariadb:
결석으로어떤 이유로 연결 문자열이 필요한 경우
jdbc:mysql:
드라이버는 연결 문자열에 'permitMysqlScheme'이 포함된 경우에만 사용됩니다.예:jdbc:mysql:localhost/test?permitMysqlScheme
.
자세한 내용은 https://mariadb.com/kb/en/mariadb-connector-j-303-release-notes/ #jdbcmariadb-http를 참조하십시오.
언급URL : https://stackoverflow.com/questions/73775617/springboot-app-cant-connect-to-maridb-when-connector-version-changed
'programing' 카테고리의 다른 글
파이썬 문자열 앞에 있는 b 접두사는 무엇을 의미합니까? (0) | 2023.05.06 |
---|---|
사용 안 함 경고: DB 클래스의 이벤트 수신이 사용되지 않으며 다음 주 버전에서 제거됩니다. (0) | 2023.05.06 |
Azure 함수가 ILogger를 바인딩하지 못함 (0) | 2023.05.01 |
Windows의 Git 저장소에 있는 디렉터리 무시 (0) | 2023.05.01 |
Pymongo / MongoDB: 인덱스를 생성하거나 인덱스를 보장합니까? (0) | 2023.05.01 |