Hi,

 

There is no screen shot attached to your mail. Please put it somewhere in the 
web and send a link.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: u...@thetaphi.de

 

From: Amal Kammoun [mailto:kammoun.ama...@gmail.com] 
Sent: Friday, August 16, 2013 6:08 PM
To: java-user@lucene.apache.org
Subject: Re: SPI class of type org.apache.lucene.codecs.Codec error

 

Thank you,

We are using Eclipse under Linux, and Java 1.7. Maven Shade is used for 
assembling the project (P1) which depends on another project which uses Lucene 
(P2).  P2 uses lucene.core, lucene.queryparser, lucene.analyzercommon.

Please find enclosed a screen-shot of the services of the two Jar.

We use to use previous versions of lucene (2.x) and we perform the same process 
of assembling without issue.

Hope this could help.

best regards,

Amal

 

 

2013/8/16 Uwe Schindler <u...@thetaphi.de>

Hi,

Maven makes it even simplier to handle this! The problem may be (I am not sure 
not sure, because I don’t know your setup):
It seems that you are using the Maven Shade Plugin to merge all JAR files into 
one BIG JAR file. During this step, you may be missing to merge all the data 
correctly in your JAR files. Lucene JARs also contain metadata and other 
resources (in addition to class files) in the META-INF folders and those are 
generally not always merged by all those tools, so those must be copied and 
merged if multiple META-INF/services with same name exist. The 
Maven-Shade-Plugin can do this for you, see:

http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html
Especially: 
http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ServicesResourceTransformer

It is recommended to use the ServicesResourceTransformer option.

Ideally, you should not change or transform JAR files of Lucene at all and not 
merge them, just ship them with your project as is. Please keep them separate, 
only for special use cases like autostarting double-click JAR files, merge them 
otherwise management gets crazy.

In any case, please check your classpath:
- Are the *unmodified* lucene-core.jar files in it?
- Don't use crazy classloader hierarchies. Keep all Lucene code together in one 
classloader (so don't place Lucene JAR files outside your webapp, but the code 
using lucene inside a webapp).
- If you create uber-JARS (which is a bad idea in general), use Maven-Shade 
plugin and configure it correctly. The Uber-JAR file must contain a 
"META-INF/services" folder with some org.apache.lucene.index.* files.

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: u...@thetaphi.de



> -----Original Message-----
> From: Amal Kammoun [mailto:kammoun.ama...@gmail.com]
> Sent: Friday, August 16, 2013 5:39 PM
> To: java-user@lucene.apache.org
> Subject: SPI class of type org.apache.lucene.codecs.Codec error
>
> Hi,
>
> We are working on a project which uses Lucene 4.2.1. Actually we are facing
> an error message "java.lang.
> ExceptionInInitializerError". We are using Maven for assembling the project
> and we have a dependency between two projects. When we do the test
> with eclipse it works fine. However, when we incorporate our jar in a client
> that is tested outside Eclipse we got the 
> java.lang.ExceptionInInitializerError.
> We are doing workaround to overcome the issue since yesterday, we got the
> same issue with both versions of Lucene 4.2.0 and 4.2.1.
>
> Have you ever experienced such an issue with maven? Are the newer
> Lucene versions safer from such an issue?
>
> Here is the rest of the message error
> Caused by: java.lang.
> IllegalArgumentException: A SPI class of type
> org.apache.lucene.codecs.Codec with name 'Lucene42' does not exist. You
> need to add the corresponding JAR file supporting this SPI to your
> classpath.The current classpath supports the following names.
>
> Thank you a lot in advance for your support.
> Best regards,



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

 

Reply via email to