2014-11-04 64 views
1

有沒有人爲無效的spring-data-elasticsearch.xsd文件提供解決方案?spring-data-elasticsearch中的XSD驗證錯誤

http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd

我嘗試加載這個XML文件:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch" 
    xsi:schemaLocation="http://www.springframework.org/schema/data/elasticsearch http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd"> 

    <elasticsearch:transport-client id="ElasticSearchClient" cluster-nodes="localhost:9300" /> 

    <bean name="elasticsearchTemplate" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate"> 
     <constructor-arg name="client" ref="ElasticSearchClient" /> 
    </bean> 
</beans> 

但即時得到這些錯誤:

Caused by: org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd; lineNumber: 40; columnNumber: 116; s4s-att-invalid-value: Invalid attribute value for 'source' in element 'documentation': cvc-datatype-valid.1.2.1. 

我發現了一些關於它的問題,但沒有人有一個解決方案爲了那個原因。在GitHub項目中無法創建錯誤問題。

感謝 馬塞爾

回答

0

我認爲它不可能使用XSD沒有問題。因此,我爲此創建了一個配置bean。

package org.example; 

import org.elasticsearch.client.Client; 
import org.elasticsearch.client.transport.TransportClient; 
import org.elasticsearch.common.transport.InetSocketTransportAddress; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.data.elasticsearch.core.ElasticsearchOperations; 
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; 

@Configuration 
class ElasticsearchConfiguration 
{ 
    @Bean(name="elasticsearchTemplate") 
    public ElasticsearchOperations elasticsearchTemplate() 
    { 
     Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300));  
     return new ElasticsearchTemplate(client); 
    } 
} 

爲我的作品....

馬塞爾