mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-10-09 10:59:11 +00:00
Back off DevTools' JDBC and R2DBC support when modules are missing
DevToolsDataSourceAutoConfiguration and DevToolsR2dbcAutoConfiguration were only guarded by classes from the JDK and r2dbc-spi respectively. When a single user-defined DataSource or ConnectionFactory bean was present, their conditions went on to reference classes from spring-boot-jdbc or spring-boot-r2dbc. Both are optional dependencies of spring-boot-devtools, so startup failed with a NoClassDefFoundError when they were absent. This commit adds a class from each module to the class conditions. Without the modules the conditions could never match, so this only turns the failure into a back-off. See gh-51872 Signed-off-by: Kosuke Yanagihara <11373191+ksky8864@users.noreply.github.com>
This commit is contained in:
committed by
Stéphane Nicoll
parent
8c7c372dcb
commit
f0987da4bb
+1
-1
@@ -61,7 +61,7 @@ import org.springframework.util.Assert;
|
||||
* @author Andy Wilkinson
|
||||
* @since 1.3.3
|
||||
*/
|
||||
@ConditionalOnClass(DataSource.class)
|
||||
@ConditionalOnClass({ DataSource.class, DataSourceProperties.class })
|
||||
@ConditionalOnEnabledDevTools
|
||||
@Conditional(DevToolsDataSourceCondition.class)
|
||||
@AutoConfiguration(afterName = "org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration")
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ import org.springframework.util.Assert;
|
||||
* @author Phillip Webb
|
||||
* @since 2.5.6
|
||||
*/
|
||||
@ConditionalOnClass(ConnectionFactory.class)
|
||||
@ConditionalOnClass({ ConnectionFactory.class, R2dbcAutoConfiguration.class })
|
||||
@ConditionalOnEnabledDevTools
|
||||
@Conditional(DevToolsConnectionFactoryCondition.class)
|
||||
@AutoConfiguration(afterName = "org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration")
|
||||
|
||||
Reference in New Issue
Block a user