On 1/10/2016 11:56 PM, Asanka Sanjaya Herath wrote:
> I tried to create a solr client using following code.
> 
> ​ solrClient = new CloudSolrClient(zkHost);
>  solrClient.setDefaultCollection(solrCollection);
> ​
> Solr4j version:5.4.0
> 
> ​Project built successfully but in run time I get following error.​ Any
> help is appreciated.
> 
> Main class [org.apache.oozie.action.hadoop.JavaMain], main() threw
> exception, java.lang.VerifyError: Bad return type
> Exception Details:
>   Location:

I'm guessing that this is happening because Oozie includes a dependency
on commons-httpclient, or httpclient 3.x, and SolrJ 4.0 and later has a
dependency on httpcomponents -- httpclient 4.x.  It is very likely that
SolrJ is seeing the classes provided by the 3.x jars, and that the
method signatures are incompatible with what SolrJ expects.

It is very possible that you will be unable to make Oozie work with
SolrJ 4.0 or later, and since you are using CloudSolrClient, you have no
choice but the newer SolrJ version.

I believe that the reason it compiles successfully is because the SolrJ
code you are using does not expose anything having to do with HttpClient
at all.  That interaction only happens deeper down, within SolrJ.

Thanks,
Shawn

Reply via email to