You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by zhouxu <zh...@docworks.cn> on 2019/06/15 16:42:41 UTC
oak integration Solr without osgi
hello expert! Without using sling/felix, we embedded Oak(using MongoDB as
document store) into spring based web application(springboot). Is there a
way for oak to integrate Solr without osgi?
--
Sent from: http://jackrabbit.510166.n4.nabble.com/Jackrabbit-Users-f510167.html
Re: oak integration Solr without osgi
Posted by Robert Munteanu <ro...@apache.org>.
Hi,
On Tue, 2019-06-18 at 01:03 -0500, zhouxu wrote:
> we try to create repository like thest code , This causes the
> following
> errors.
>
> error:
> java.lang.NoClassDefFoundError:
> org/apache/solr/client/solrj/SolrServer
Looks like you're missing some solr jars from your classpath. A Maven
central search will tell you what you need to add to your classpath
https://search.maven.org/search?q=fc:org%2Fapache%2Fsolr%2Fclient%2Fsolrj%2FSolrServer
Robert
Re: oak integration Solr without osgi
Posted by zhouxu <zh...@docworks.cn>.
we try to create repository like thest code , This causes the following
errors.
error:
java.lang.NoClassDefFoundError:
org/apache/solr/client/solrj/SolrServer
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at
cn.amberdata.afc.domain.repository.AfRepositoryManager.<clinit>(AfRepositoryManager.java:144)
at
cn.amberdata.afc.domain.session.AfSessionManager.getRepository(AfSessionManager.java:59)
at
cn.amberdata.afc.domain.session.AfSessionManager.<init>(AfSessionManager.java:48)
at cn.amberdata.afc.domain.query.SolrTest.setUp(SolrTest.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.ClassNotFoundException:
org.apache.solr.client.solrj.SolrServer
code:
RemoteSolrServerProvider remoteSolrServerProvider=null;
String solrURL="http://localhost:8983/solr";
SolrServerConfiguration<RemoteSolrServerProvider>
remoteSolrServerProviderSolrServerConfiguration =
new RemoteSolrServerConfiguration(null, null, 1, 1,
null, 10, 10, solrURL);
try {
remoteSolrServerProvider =
remoteSolrServerProviderSolrServerConfiguration.getProvider();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
OakSolrConfigurationProvider configurationProvider = new
OakSolrConfigurationProvider() {
@Override
public OakSolrConfiguration getConfiguration() {
return new DefaultSolrConfiguration() {
@Override
public int getRows() {
return 50;
}
};
}
};
SolrQueryIndexProvider solrQueryIndexProvider=new
SolrQueryIndexProvider(remoteSolrServerProvider, configurationProvider);
if (repository == null) {
repository = new Jcr(new Oak(documentNodeStore))
.with(solrQueryIndexProvider)
.with(new NodeStateSolrServersObserver())
.with(new
SolrIndexEditorProvider(remoteSolrServerProvider, configurationProvider))
.with(new SolrIndexInitializer(false))
.createRepository();
}
--
Sent from: http://jackrabbit.510166.n4.nabble.com/Jackrabbit-Users-f510167.html