1

SolrテストプロジェクトをSolr4.1に移行していますが、getSchemaFile()メソッドとgetSolrConfigFile()メソッドをオーバーライドできません。

次のエラーが発生します。

[エラー]my_path/ SolrConfigTest.java:[63,15]エラー:SolrConfigTestのgetSchemaFile()はSolrTestCaseJ4のgetSchemaFile()をオーバーライドできません

[エラー]オーバーライドされたメソッドは静的です

[エラー]my_path/ SolrConfigTest.java:[62,1]エラー:メソッドがスーパータイプのメソッドをオーバーライドまたは実装していません

[エラー]my_path/ SolrConfigTest.java:[68,15]エラー:SolrConfigTestのgetSolrConfigFile()は、SolrTestCaseJ4のgetSolrConfigFile()をオーバーライドできません

[エラー]オーバーライドされたメソッドは静的です

[エラー]my_path/ SolrConfigTest.java:[67,1]エラー:メソッドがスーパータイプのメソッドをオーバーライドまたは実装していません

ファイルは次のようになります。

import org.apache.log4j.Logger;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.request.AbstractUpdateRequest;
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.util.AbstractSolrTestCase;

public class SolrConfigTest extends AbstractSolrTestCase {
    String container = "mycore";

    @Override
    public String getSolrHome() {
        return System.getProperty("user.dir") + "/resources/";
    }

    @Override
    public String getSchemaFile() {
        return getSolrHome() + container + "/conf/schema.xml";
    }

    @Override
    public String getSolrConfigFile() {
        return getSolrHome() + container + "/conf/solrconfig.xml";
    }

    @Before
    @Override
    public void setUp() throws Exception {
        super.setUp();
        CoreContainer.Initializer initializer = new CoreContainer.Initializer();
        coreContainer = initializer.initialize();
        server = new EmbeddedSolrServer(coreContainer, "mycore");
    }
}

そして、mavenの場合、私のpom.xmlファイルには次の依存関係があります。

<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>4.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-core</artifactId>
        <version>4.1.0</version>
    </dependency>
    <dependency>
       <groupId>org.apache.solr</groupId>
       <artifactId>solr-solrj</artifactId>
       <version>4.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-test-framework</artifactId>
        <version>4.1.0</version>
    </dependency>
</dependencies>

誰かが私が欠けているものについて何か考えを持っていますか?

4

2 に答える 2

0

私が見る限り、Solr 4.1 の AbstractSolrTestCase クラスは、オーバーライドするメソッド getSchemaFile() および getSolrConfigFile() をもう提供していません。

getSolrHome() が Solr が定義されているフォルダー (solr.xml ファイルがある場所) を指すと、schema.xml および solrconfig.xml ファイルが mycore/conf に配置されます。

于 2013-03-14T12:12:12.570 に答える