2012-08-05 42 views
6

Khi tôi thêm cấu hình này trong solrconfig.xml:Ngoại lệ: Không thể tìm thấy lớp SolrCoreAware

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
    </lst> 
</requestHandler> 

sau đó bắt đầu tomcat, tôi có ngoại lệ này:

ClassNotFoundException: org.apache.solr.util.plugin.SolrCoreAware 

Tôi đã kiểm tra dir

<lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> 

lọ được nhập, có vấn đề gì với nó? thuộc tính dir nút lib nghĩa là gì?

+0

lớp SolrCoreAware được sử dụng trong Solr bản thân, do đó jar chứa nó phải được đưa vào trong file 'solr.war', trong 'WEB-INF thư mục/lib'. Bạn đã sửa đổi 'solr.war' vì một lý do nào đó? Bạn đang chạy phiên bản Solr nào? – javanna

+0

@ javanna, cảm ơn sự giúp đỡ của bạn, tôi đã quên thêm "solr-importdata.jar" vào solr/WEB-INF/lib, nhưng tôi đã thêm nó vào lib tomcat, không thể tìm thấy nó, vì vậy ngoại lệ sẽ bị loại bỏ. –

+0

Điều đó thậm chí còn tốt hơn, bạn có những cái lọ này trong những bộ nạp lớp khác nhau. Các DIH không thể nhìn thấy solr và solr không thể nhìn thấy dih tôi đoán. Vui mừng bạn đã giải quyết. – javanna

Trả lời

4

Chuyển đổi bình luận OP của thành một câu trả lời như (a) nó dễ dàng hơn để phát hiện và (b) làm việc cho tôi:

Cẩn thận để không đặt solr-dataimporthandler-x.y.z.jar vào

Tomcat\lib        <- Doesn't work! 

Thay vào đó hãy chắc chắn nó được đặt trong :

Tomcat\webapps\solr\WEB-INF\lib   <- Works. 
Các vấn đề liên quan