You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2014/03/06 13:10:43 UTC

[jira] [Resolved] (SMX4-1717) Lucene 4 bundles are missing META-INF/services files

     [ https://issues.apache.org/jira/browse/SMX4-1717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Freeman Fang resolved SMX4-1717.
--------------------------------

    Resolution: Fixed

commit fix
http://svn.apache.org/r1574849
http://svn.apache.org/r1574850

> Lucene 4 bundles are missing META-INF/services files
> ----------------------------------------------------
>
>                 Key: SMX4-1717
>                 URL: https://issues.apache.org/jira/browse/SMX4-1717
>             Project: ServiceMix 4
>          Issue Type: Bug
>          Components: Bundles
>    Affects Versions: bundles-2014.01
>            Reporter: Severin Gehwolf
>            Assignee: Freeman Fang
>             Fix For: bundles-2014.03
>
>
> We are using the servicemix lucene bundles for Thermostat[1]. However, since lucene 4 the release JARs use Java's ServiceLoader mechanism for loading codecs. Since the META-INF/services files are missing from the servicemix lucene bundles any use of IndexWriterConfig will fail with:
> Exception in thread "pool-1-thread-1" java.lang.ExceptionInInitializerError
> 	at org.apache.lucene.index.LiveIndexWriterConfig.<init>(LiveIndexWriterConfig.java:122)
> 	at org.apache.lucene.index.IndexWriterConfig.<init>(IndexWriterConfig.java:165)
> Caused by: java.lang.IllegalArgumentException: A SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene46' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath.The current classpath supports the following names: []
> 	at org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:109)
> 	at org.apache.lucene.codecs.Codec.forName(Codec.java:95)
> 	at org.apache.lucene.codecs.Codec.<clinit>(Codec.java:122)
> The fix is to convince the maven-shade plugin to include META-INF/services directory in the dep-reduced bundle jar. See:
> https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ServicesResourceTransformer
> [1] http://icedtea.classpath.org/thermostat/



--
This message was sent by Atlassian JIRA
(v6.2#6252)