Apache jackrabbit:使用JNDI检索存储库时出错

时间:2012-08-16 10:59:49

标签: java linux jackrabbit

我在Linux机器上设置Apache jackrabbit存储库,当我的服务器启动时,我收到以下错误消息

  

错误 RepositoryAccessServlet:使用JNDI(name = jackrabbit.repository)检索存储库时出错(RepositoryAccessServlet.java,    第210行)以及NameNotFoundException。

完成堆栈跟踪

  

14.08.2012 16:35:37 错误 RepositoryAccessServlet:使用JNDI(name = jackrabbit.repository)检索存储库时出错(RepositoryAccessServlet.java,第210行)   javax.naming.NameNotFoundException       at org.apache.jackrabbit.core.jndi.provider.DummyContext.getBoundObject(DummyContext.java:83)       在org.apache.jackrabbit.core.jndi.provider.DummyContext.lookup(DummyContext.java:248)       在org.apache.jackrabbit.core.jndi.provider.DummyContext.lookup(DummyContext.java:255)       在javax.naming.InitialContext.lookup(未知来源)       at org.apache.jackrabbit.j2ee.RepositoryAccessServlet.getRepositoryByJNDI(RepositoryAccessServlet.java:206)       at org.apache.jackrabbit.j2ee.RepositoryAccessServlet.getRepository(RepositoryAccessServlet.java:295)       at org.apache.jackrabbit.j2ee.RepositoryAccessServlet.getRepository(RepositoryAccessServlet.java:321)       在org.apache.jsp.welcome_jsp._jspService(welcome_jsp.java:62)       在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)       在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)       在org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)       在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)       在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)       在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)       在org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)       在org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)       在org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)       at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)       在org.apache.jsp.index_jsp._jspService(index_jsp.java:61)       在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)       在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)       在org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)       在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)       在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)       在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)       在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)       在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)       在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)       在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:602)       在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)       在java.lang.Thread.run(未知来源)   14.08.2012 16:35:37 * INFO * RepositoryAccessServlet:尝试使用rmi检索存储库。 uri = // localhost:1099 / jackrabbit.repository(RepositoryAccessServlet.java,第231行)   14.08.2012 16:35:37 * INFO * RepositoryAccessServlet:通过RMI获取存储库。 (RepositoryAccessServlet.java,第243行)

在google上搜索引发的异常后,我找不到任何相关内容。

某些人可以指出出错的地方吗?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

问题在于目录结构的权限。 Tomcat没有足够的权限来访问所需的目录结构。在我的情况下,我得到了名为jackrabbit.reposiory的存储库的错误,我有像jackrabbit / repository这样的目录结构。

一旦我确定tomcat对这些目录有足够的权限(在我的情况下缺少写权限),事情开始朝着正确的方向发展。