Caused by: java.lang.ClassNotFoundException: com.sun.jersey.spi.inject.Injectabl
eProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 46 more
After I add jersey-core, jersey-server dependencies, I got:
Caused by: javax.naming.NameNotFoundException: Name [comp/env/org.apache.hadoop.
hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods/context] is not bound
in this Context. Unable to find [comp].
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
... 39 more
Finally, I found the solr-core has a dependency on hadoop-hdfs which has a dependency on jersey.
So I add an exclusion to solr-core dependency for hadoop-hdfs.
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<exclusions>
<exclusion>
<artifactId>hadoop-hdfs</artifactId>
<groupId>org.apache.hadoop</groupId>
</exclusion>
</exclusions>
</dependency>