spring-projects/spring-ai · error · IllegalArgumentException
WeaviateClient could not be created.
Error message
WeaviateClient could not be created.
What it means
Guard thrown while creating the WeaviateClient bean in auto-configuration: the underlying Weaviate Java client could not connect or authenticate (bad host/scheme, network failure, invalid API key), so the auto-configuration cannot expose the client bean.
Solutions
- Verify spring.ai.vectorstore.weaviate host, scheme, and API key values
- Check network connectivity to the Weaviate instance
- Provide a custom WeaviateClient bean to bypass auto-configuration
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfiguration.java:72 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of spring-projects/spring-ai@98a7beda4f (2026-09-11).
Data as JSON: /api/errors/ebe834000cba1db1.
Report an issue: GitHub.
Appendix: source
Thrown at auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfiguration.java:72
public class WeaviateVectorStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean(WeaviateConnectionDetails.class)
PropertiesWeaviateConnectionDetails weaviateConnectionDetails(WeaviateVectorStoreProperties properties) {
return new PropertiesWeaviateConnectionDetails(properties);
}
@Bean
@ConditionalOnMissingBean
public WeaviateClient weaviateClient(WeaviateVectorStoreProperties properties,
WeaviateConnectionDetails connectionDetails) {
try {
return WeaviateAuthClient.apiKey(
new Config(properties.getScheme(), connectionDetails.getHost(), properties.getHeaders()),
properties.getApiKey());
}
catch (AuthException e) {
throw new IllegalArgumentException("WeaviateClient could not be created.", e);
}
}
@Bean
@ConditionalOnMissingBean
BatchingStrategy batchingStrategy() {
return new TokenCountBatchingStrategy();
}
@Bean
@ConditionalOnMissingBean
public WeaviateVectorStore vectorStore(EmbeddingModel embeddingModel, WeaviateClient weaviateClient,
WeaviateVectorStoreProperties properties, ObjectProvider<ObservationRegistry> observationRegistry,
ObjectProvider<VectorStoreObservationConvention> customObservationConvention,
BatchingStrategy batchingStrategy) {
return WeaviateVectorStore.builder(weaviateClient, embeddingModel)
.options(mappingPropertiesToOptions(properties))
.filterMetadataFields(properties.getFilterField()View on GitHub (pinned to 98a7beda4f)