我正在将我的Solr测试项目迁移到Solr 4.1,我无法覆盖方法getSchemaFile()和getSolrConfigFile()。
我收到以下错误:
[错误] my_path / SolrConfigTest.java:[63,15]错误:SolrConfigTest中的getSchemaFile()无法覆盖SolrTestCaseJ4中的getSchemaFile()
[ERROR]重写方法是静态的
[错误] my_path / SolrConfigTest.java:[62,1]错误:方法不会覆盖或实现超类型的方法
[错误] my_path / SolrConfigTest.java:[68,15]错误:SolrConfigTest中的getSolrConfigFile()无法覆盖SolrTestCaseJ4中的getSolrConfigFile()
[ERROR]重写方法是静态的
[错误] 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>
有人知道我错过了什么吗?
答案 0 :(得分:0)
据我所知,Solr 4.1的AbstractSolrTestCase类不再提供getSchemaFile()和getSolrConfigFile()方法来覆盖。
一旦getSolrHome()指向定义了Solr的文件夹(您可以在其中找到solr.xml文件),schema.xml和solrconfig.xml文件将在mycore / conf中找到。
答案 1 :(得分:-1)
或者您可以覆盖SolrTestCaseJ4类的initCore(String config,String schema,String solrHome)方法,以便您可以根据您的配置设置配置文件和模式文件。