我在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上搜索引发的异常后,我找不到任何相关内容。
某些人可以指出出错的地方吗?
非常感谢任何帮助。
答案 0 :(得分:0)
我已经解决了这个问题。
问题在于目录结构的权限。 Tomcat没有足够的权限来访问所需的目录结构。在我的情况下,我得到了名为jackrabbit.reposiory的存储库的错误,我有像jackrabbit / repository这样的目录结构。
一旦我确定tomcat对这些目录有足够的权限(在我的情况下缺少写权限),事情开始朝着正确的方向发展。