首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.sql.SQLException:无法解析捆绑包deadbeef face-babe-cafe-babecafebabe

java.sql.SQLException:无法解析捆绑包deadbeef face-babe-cafe-babecafebabe
EN

Stack Overflow用户
提问于 2012-12-31 14:10:58
回答 2查看 1.9K关注 0票数 0

我正在尝试创建JCR存储库。我使用Tomcat 7、jdk 6和jars作为:

代码语言:javascript
复制
commons-collections-3.2.1.jar
commons-dbcp-1.3.jar
commons-io-2.2.jar
commons-pool-1.5.4.jar
concurrent-1.3.4.jar
jackrabbit-api-2.5.2.jar
jackrabbit-core-2.5.2.jar
jackrabbit-jcr-commons-2.5.2.jar
jackrabbit-spi-2.5.2.jar
jackrabbit-spi-commons-2.5.2.jar
jcr-2.0.jar
log4j-1.2.14.jar
log4j-over-slf4j-1.6.4.jar
lucene-core-4.0.0.jar
postgresql-8.2-504.jdbc4.jar
slf4j-api-1.6.4.jar
xercesImpl-2.8.1.jar
xmlParserAPIs-2.0.2.jar

我的服务器的Context.xml文件:

代码语言:javascript
复制
<Resource 
            name="jcr/repository" 
            auth="Container"
            type="javax.jcr.Repository"
            factory="org.apache.jackrabbit.core.jndi.BindableRepositoryFactory"
            configFilePath="C:/comrep/fiplrepository/repository.xml"
            repHomeDir="C:/comrep/fiplrepository/repository"></Resource>

我的Servlet类:

代码语言:javascript
复制
1)...InitialContext inc = new InitialContext();
2)...Context context = (Context) inc.lookup("java:comp/env");
3)...Object repository = context.lookup("jcr/repository");//This line gives error...

第3行)给出错误,如下所示:

代码语言:javascript
复制
javax.jcr.RepositoryException: org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle (stacktrace on DEBUG log level): deadbeef-face-babe-cafe-babecafebabe: java.sql.SQLException: Failed to parse bundle deadbeef-face-babe-cafe-babecafebabe
    at org.apache.jackrabbit.core.version.InternalVersionManagerImpl.<init>(InternalVersionManagerImpl.java:208)
    at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:492)
    at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
    at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
    at org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141)
    at org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117)
    at org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106)
    at org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:52)
    at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:143)
    at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:843)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
    at com.willcode4beer.demo.jcr.JcrDemoServlet.doPost(JcrDemoServlet.java:33)
    at com.willcode4beer.demo.jcr.JcrDemoServlet.doGet(JcrDemoServlet.java:22)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle (stacktrace on DEBUG log level): deadbeef-face-babe-cafe-babecafebabe: java.sql.SQLException: Failed to parse bundle deadbeef-face-babe-cafe-babecafebabe
    at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:902)
    at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundleCacheMiss(AbstractBundlePersistenceManager.java:766)
    at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:749)
    at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.exists(AbstractBundlePersistenceManager.java:560)
    at org.apache.jackrabbit.core.version.InternalVersionManagerImpl.<init>(InternalVersionManagerImpl.java:162)

我的repository.xml文件包含:

代码语言:javascript
复制
<Repository>
    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
        <param name="path" value="${rep.home}/repository" />
    </FileSystem><!-- security configuration -->
    <Security appName="Jackrabbit">
        <AccessManager
            class="org.apache.jackrabbit.core.security.SimpleAccessManager">
        </AccessManager>
        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">             
            <param name="anonymousId" value="anonymous" />
        </LoginModule>
    </Security>
    <Workspaces rootPath="${rep.home}/workspaces"
        defaultWorkspace="default" />
    <Workspace name="${wsp.name}">
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://myPort/DMS"/>
          <param name="user" value="postgres" />
          <param name="password" value="pass" />
          <param name="schema" value="postgresql"/>
          <param name="schemaObjectPrefix" value="pm_ws_${wsp.name}_"/>
    </FileSystem>
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://myPort/DMS"/>
          <param name="user" value="postgres" />
          <param name="password" value="pass" />
          <param name="schema" value="postgresql"/>
          <param name="schemaObjectPrefix" value="pm_ws_${wsp.name}_"/>
           <param name="externalBLOBs" value="false"/>
        </PersistenceManager>
        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index" />
        </SearchIndex>
    </Workspace><!-- Configures the versioning -->
    <Versioning rootPath="${rep.home}/version">
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${rep.home}/version" />
        </FileSystem>
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
          <param name="url" value="jdbc:postgresql://myPort/DMS"/>
          <param name="user" value="postgres" />
          <param name="password" value="pass" />
          <param name="schema" value="postgresql"/>
          <param name="schemaObjectPrefix" value="pm_vs_"/>
        </PersistenceManager>       
    </Versioning>
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${rep.home}/repository/index" />
    </SearchIndex>
</Repository>

在我的存储库路径中,我可以看到生成了存储库文件夹,并且在我的数据库中创建了名为tables的表。那么这里出了什么问题,我在这里更改了什么,这样程序就会运行。另外,我如何配置RMI,以便我的其他应用程序可以调用此存储库?请帮帮我,我从上周就被困在这里了。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-02 22:59:07

“无法读取捆绑包:死牛-脸-宝贝...”消息是存储库不一致的症状。您可能会发现这些来自Adobe CQ5知识库的文章很有帮助:Fix the "jcr:system" nodeConsistency Check

票数 -1
EN

Stack Overflow用户

发布于 2013-01-01 16:38:30

你对lucene的核心版本有把握吗?在我看来,Jackrabbit 2.5.2是为Lucene 3.6而不是4.0编写的,因此这可能是导致您新错误的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14098134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档