Worked it out.  The 'phonetic' module needs to have its resources/ directory 
added as a source directory; at the moment IntelliJ doesn't copy the 
META-INF/services files to SOLR's classpath.

diff --git a/dev-tools/idea/lucene/analysis/phonetic/phonetic.iml 
b/dev-tools/idea/lucene/analysis/phonetic/phonetic.iml
index e986169..67c1670 100644
--- a/dev-tools/idea/lucene/analysis/phonetic/phonetic.iml
+++ b/dev-tools/idea/lucene/analysis/phonetic/phonetic.iml
@@ -6,6 +6,7 @@
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/resources" 
isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
     </content>
     <orderEntry type="inheritedJdk" />

On 19 Aug 2012, at 18:33, Alan Woodward wrote:

> Hi all,
> 
> When I try to run SolrExampleTests (or more specifically, 
> SolrExampleStreamingTest) from within IntelliJ against trunk, the example 
> Solr instance doesn't start up properly, failing to load 
> solr.DoubleMetaphoneFilterFactory.  What's weird is that I *can* run the 
> tests from the command line using 'ant test', which presumably means that 
> it's somehow a classpath issue within IntelliJ.  I've tried digging into the 
> weeds of the SolrResourceLoader but haven't found anything useful so far.
> 
> Anybody have any ideas?
> 
> Thanks, 
> Alan Woodward
> 
> IntelliJ set up using 'ant idea'.
> 
> The following works:
> ant test -Dtests.class="*.SolrExampleStreamingTest"
> 
> But running from IntelliJ gives the following error:
> 147221 T15 oasc.SolrException.log SEVERE 
> null:org.apache.solr.common.SolrException: Plugin init failure for 
> [schema.xml] fieldType "phonetic": Plugin init failure for [schema.xml] 
> analyzer/filter: Error loading class 'solr.DoubleMetaphoneFilterFactory'
>               at 
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:168)
>               at 
> org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:369)
>               at 
> org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:113)
>               at 
> org.apache.solr.core.CoreContainer.create(CoreContainer.java:850)
>               at 
> org.apache.solr.core.CoreContainer.load(CoreContainer.java:539)
>               at 
> org.apache.solr.core.CoreContainer.load(CoreContainer.java:360)
>               at 
> org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:309)
>               at 
> org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:106)
>               at 
> org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:114)
>               at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>               at 
> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:754)
>               at 
> org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:1227)
>               at 
> org.eclipse.jetty.servlet.ServletHandler.setFilterMappings(ServletHandler.java:1263)
>               at 
> org.eclipse.jetty.servlet.ServletHandler.addFilterWithMapping(ServletHandler.java:965)
>               at 
> org.eclipse.jetty.servlet.ServletHandler.addFilterWithMapping(ServletHandler.java:923)
>               at 
> org.eclipse.jetty.servlet.ServletContextHandler.addFilter(ServletContextHandler.java:333)
>               at 
> org.apache.solr.client.solrj.embedded.JettySolrRunner$1.lifeCycleStarted(JettySolrRunner.java:158)
>               at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.setStarted(AbstractLifeCycle.java:169)
>               at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:60)
>               at 
> org.apache.solr.client.solrj.embedded.JettySolrRunner.start(JettySolrRunner.java:210)
>               at 
> org.apache.solr.client.solrj.embedded.JettySolrRunner.start(JettySolrRunner.java:190)
>               at 
> org.apache.solr.SolrJettyTestBase.createJetty(SolrJettyTestBase.java:53)
>               at 
> org.apache.solr.client.solrj.embedded.SolrExampleStreamingTest.beforeTest(SolrExampleStreamingTest.java:46)
>               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>               at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>               at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>               at java.lang.reflect.Method.invoke(Method.java:597)
>               at 
> com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1559)
>               at 
> com.carrotsearch.randomizedtesting.RandomizedRunner.access$600(RandomizedRunner.java:79)
>               at 
> com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:677)
>               at 
> com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:693)
>               at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>               at 
> com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:53)
>               at 
> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
>               at 
> org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:42)
>               at 
> com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)
>               at 
> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
>               at 
> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
>               at 
> org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:40)
>               at 
> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
>               at 
> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:70)
>               at 
> org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:55)
>               at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>               at 
> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:345)
>               at java.lang.Thread.run(Thread.java:680)
>       Caused by: org.apache.solr.common.SolrException: Plugin init failure 
> for [schema.xml] analyzer/filter: Error loading class 
> 'solr.DoubleMetaphoneFilterFactory'
>               at 
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:168)
>               at 
> org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:377)
>               at 
> org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:95)
>               at 
> org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43)
>               at 
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:142)
>               ... 44 more
>       Caused by: org.apache.solr.common.SolrException: Error loading class 
> 'solr.DoubleMetaphoneFilterFactory'
>               at 
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:441)
>               at 
> org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:462)
>               at 
> org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:86)
>               at 
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:142)
>               ... 48 more
>       Caused by: java.lang.ClassNotFoundException: 
> solr.DoubleMetaphoneFilterFactory
>               at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>               at java.security.AccessController.doPrivileged(Native Method)
>               at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>               at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>               at 
> java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627)
>               at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>               at java.lang.Class.forName0(Native Method)
>               at java.lang.Class.forName(Class.java:247)
>               at 
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:425)
>               ... 51 more
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to