2017-07-28 4 views
0

J'utilise Spring Boot avec la dépendance suivante:ClassNotFoundException: org.apache.solr.client.solrj.embedded.EmbeddedSolrServer

compile group: 'org.springframework.data', 
name: 'spring-data-solr', 
version: '2.1.6.RELEASE' 

Pour le développement et les tests, je voudrais utiliser la EmbeddedSolrServer. Pour cela, j'ai le code suivant.

@Bean 
public EmbeddedSolrServerFactoryBean solrServerFactoryBean() { 
    EmbeddedSolrServerFactoryBean factory = new EmbeddedSolrServerFactoryBean(); 
    factory.setSolrHome(env.getRequiredProperty(PROPERTY_NAME_SOLR_SOLR_HOME)); 
    return factory; 
} 

@Bean 
public SolrTemplate solrTemplate() throws Exception { 

    return new SolrTemplate(solrServerFactoryBean().getSolrClient("")); 
} 

Lorsque j'exécute mon code, l'erreur suivante s'affiche.

Caused by: java.lang.ClassNotFoundException: org.apache.solr.client.solrj.embedded.EmbeddedSolrServer 

j'ai décidé d'inspecter, et je vois que le paquet suivant est nulle part, avec la partie « embedded » et « noyau » étant affiché en rouge par Intellij quand j'inspecte le code source EmbeddedSolrServerFactory. Pour contourner cela, j'ai essayé d'ajouter cette dépendance à ma configuration Gradle, mais en vain.

compile group: 'org.apache.solr', name: 'solr-solrj', version: '5.5.2' 

C'est presque comme si le EmbeddedSolrServer avait été effacé de la carte. Est-ce que quelqu'un sait où je peux obtenir cette classe, ou pourquoi mon installation Spring Boot Solr n'est pas l'importation automatique?

Toute aide est grandement appréciée.

Répondre

0

Il semble que la version de Solr utilisée par Spring Boot soit incorrecte. Vous pouvez le définir manuellement dans votre pom avec:

<properties> 
    <solr.version>5.5.2</solr.version> 
</properties> 

Espérons que cela résout votre problème.