java.lang.IllegalArgumentException:环境不能为null [英] java.lang.IllegalArgumentException: Environment must not be null
问题描述
我尝试设置一个基本的SolrRepository应用,并在ApplicationContext加载期间出现此错误:
I try to setup a basic SolrRepository app and Have this error during ApplicationContext load :
Caused by: java.lang.IllegalArgumentException: Environment must not be null!
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.data.repository.config.RepositoryConfigurationSourceSupport.<init>(RepositoryConfigurationSourceSupport.java:50)
at org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource.<init>(AnnotationRepositoryConfigurationSource.java:74)
at org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport.registerBeanDefinitions(RepositoryBeanDefinitionRegistrarSupport.java:74)
at org.springframework.context.annotation.ConfigurationClassParser.processImport(ConfigurationClassParser.java:394)
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:204)
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:163)
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:138)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:284)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:225)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:120)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:248)
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64)
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91)
... 28 more
这是我的ConfigClass:
Here is my ConfigClass :
@Configuration
@PropertySource("classpath:sandbox.properties")
@ComponentScan("sandbox.solr")
@EnableSolrRepositories(basePackages = { "sandbox.solr.repository" }, multicoreSupport = true)
public class StreamingSolrConf {
@Resource
private Environment env;
@Bean
public SolrServer solrServer() {
return new HttpSolrServer(env.getRequiredProperty("solr.server.url"));
}
@Bean
public SolrTemplate solrTemplate() {
return new SolrTemplate(solrServer());
}
}
还有我的存储库界面:
package sandbox.solr.repository;
import org.springframework.data.solr.repository.SolrCrudRepository;
public interface SandboxRepository extends SolrCrudRepository<Document, String> {
}
无法弄清楚为什么没有在正确的时间在Spring上下文内注入环境. 我错过了什么 ? 问候.
Can't figure why the Environment is not injected at the right time inside the spring context. What did I miss ? Regards.
推荐答案
只需解决此问题(请参阅原始问题的注释):
Just to solve this Question (see comments on original question):
他在spring-3.2.8.RELEASE
中同时使用了spring-data-solr-1.2.1.RELEASE
.
降级到spring-data-solr-1.1.3-RELEASE
并保留spring-3.2.8.RELEASE
或升级到spring-3.2.9.RELEASE
以保留spring-data-solr-1.2.1.RELEASE
将解决此问题.
He was using the spring-data-solr-1.2.1.RELEASE
with spring-3.2.8.RELEASE
either.
Downgrading to spring-data-solr-1.1.3-RELEASE
and stay with spring-3.2.8.RELEASE
or upgrade to spring-3.2.9.RELEASE
to keep spring-data-solr-1.2.1.RELEASE
will solve the issue.
这篇关于java.lang.IllegalArgumentException:环境不能为null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!