我正在尝试在JBoss 5.1上设置Solr 3.5.0.一切都很好.我将war复制到deploy dir中,将dist和contrib目录中的所有依赖项复制到lib(或更早部署)目录中.
我可以启动服务器,一切正常,但每当我想激活DataImportHandler来索引我的数据库中的数据时,我都会收到错误.
基本上我所做的就是我复制的是我从example/example-DIH/solr/db复制一个核心(或整个例子,这没关系),我在solr.xml中注册核心,在启动时我收到一个错误:
15:17:10,707 SEVERE [RequestHandlers] org.apache.solr.common.SolrException: Error Instantiating Request Handler, org.apache.solr.handler.dataimport.DataImportHandler is not a org.apache.solr.request.SolrRequestHandler
at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:427)
at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:461)
at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:157)
Run Code Online (Sandbox Code Playgroud)
我很确定我的请求处理程序定义是正确的,但只是为了确定:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">dataimport.xml</str>
</lst>
Run Code Online (Sandbox Code Playgroud)
据我所知,这个错误可能是由DataImportHandler和SolrRequestHandler引起的,据说它是持有不同的类加载器.
每当我从示例中的start.jar应用程序启动Solr时(我认为它启动了一个Jetty服务器)它运行正常.
我的问题是:这真的是因为类加载器问题还是其他一些问题?而且,更重要的是:我该如何解决?
刚出了个奇怪的错误.使用JUnit和Maven 3.0.3处理项目我在test/src/java文件夹中创建了一个测试类 - ClassifierUtilTest.java带有@Test注释方法和东西,以及两个实用程序类,仅用于测试环境(一个用于测试环境)用于绕过私有可见范围的一些静态方法和用于测试接口的一个模拟.
它在Maven 3.0.3(mvn test)和Eclipse 3.7(作为/ JUnit测试运行)下运行良好,但是当其他人尝试mvn test使用Maven 2.2.1时,它失败了.显然它试图将这些util类视为测试类,并且由于"没有@Test注释的方法"和"多个构造函数" 而失败.
这不是JUnit错误(至少它不应该是,maven依赖是相同的junit:junit:4.9),所以它似乎是严格的maven或maven-surefire-plugin错误.我想知道是否有一些广为人知的Maven 2.2.1针对这个问题的解决方法?