2014-07-10 27 views
6

próbuję skonfigurować podstawową aplikację SolrRepository i ten błąd podczas obciążenia ApplicationContext:java.lang.IllegalArgumentException: Środowisko nie może być null

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 

Oto moje 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()); 
    } 
} 

I mój interfejs repozytorium:

package sandbox.solr.repository; 

import org.springframework.data.solr.repository.SolrCrudRepository; 

public interface SandboxRepository extends SolrCrudRepository<Document, String> { 
} 

Nie można zrozumieć, dlaczego Środowisko nie jest wstrzykiwane w Odpowiedni czas w kontekście wiosny. Czego mi brakowało? Pozdrawiam.

+1

Rozwiązany! Użyłem sprężyny-dane-solr-1.2.1.RELEASE z wiosną-3.2.8.ZWRÓĆ albo - obniżenie do sprężyny-dane-solr-1.1.3-ZWOLNIENIE i pozostać przy wiosnę-3.2.8 .RELEASE - aktualizacja do wersji wiosna-3.2.9. ZWOLNIENIE, aby zachować wiosenne dane-solr-1.2.1.RELEASE rozwiąże problem! – xt0f

+0

Proszę zaksięgować to jako anwser. Bardzo mi to pomogło, dziękuję! – kboom

Odpowiedz

3

Wystarczy, aby rozwiązać to pytanie (patrz komentarze na oryginalne pytanie):

Był pomocą spring-data-solr-1.2.1.RELEASE z spring-3.2.8.RELEASE albo. Obniżenie do spring-data-solr-1.1.3-RELEASE i pozostanie przy spring-3.2.8.RELEASE lub aktualizacji do spring-3.2.9.RELEASE, aby zachować spring-data-solr-1.2.1.RELEASE rozwiąże problem.

Powiązane problemy