【问题标题】:OAI import - DspaceOAI 导入 - Dspace
【发布时间】:2014-10-10 13:06:40
【问题描述】:

当我执行命令 ./dspace oai import -c
我收到以下错误:

OAI 2.0 manager action started
Clearing index
Index cleared
Using full import.
Full import
java.lang.NullPointerException
    at org.dspace.xoai.app.XOAI.index(XOAI.java:275)
    at org.dspace.xoai.app.XOAI.index(XOAI.java:229)
    at org.dspace.xoai.app.XOAI.indexAll(XOAI.java:210)
    at org.dspace.xoai.app.XOAI.index(XOAI.java:128)
    at org.dspace.xoai.app.XOAI.main(XOAI.java:439)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:225)
    at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:77)

【问题讨论】:

  • 您的确切 DSpace 版本是多少?如果是 4.x,那么您项目的其中一位提交者可能缺少提交者,或者提交者可能缺少电子邮件地址。
  • 有人为此提交了一个拉取请求:github.com/DSpace/DSpace/pull/933,我在官方 DSpace 错误跟踪器中创建了一个问题:jira.duraspace.org/browse/DS-2554

标签: dspace


【解决方案1】:

如果您收集了 OAI 正在索引的项目,那么这些项目将导致异常。问题似乎是 DSpace 在通过收获创建项目时为 submitter_id 设置了无效的 null 值。

在一个处于活动状态的存档上没有简单的方法可以解决这个问题;每次收割物品时,您都会遇到此问题。我发现的唯一快速解决方法是直接在数据库中重置 submitter_id 字段的 null 值:

UPDATE item SET submitter_id = null WHERE submitter_id IS null;

问题实际上并不在于 doc.addField 方法,因为正确设置了 db null 值将导致 getSubmitter() 方法正确地将 submitter_id 验证为 null,因此 getEmail 什么也不返回。相反,问题在于 DSpace 用于设置 null 的无效值。

【讨论】:

    【解决方案2】:

    详细说明 user323094 的评论:

    查看第 275 行: https://github.com/DSpace/DSpace/blob/c5e3b7150a24c669172492ab3dc276111328a865/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java

    这个错误似乎是由以下原因引起的:

    doc.addField("item.submitter", item.getSubmitter().getEmail());
    

    所以要么你有一个没有提交者的项目,这意味着getSubmitter 导致 NPE,或者有一个提交者,但它没有电子邮件,这意味着 getEmail 将触发NPE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多