当我执行命令./dspace oai导入-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)发布于 2015-04-26 10:35:56
如果您已经获取了由OAI索引的项,则这些项将导致异常。问题似乎是,当通过一个采集创建一个项目时,DSpace为submitter_id设置了一个无效的空值。
在活动的归档上没有简单的方法来解决这个问题;每次收集项目时,您都会遇到这个问题。我找到的唯一快速解决方法是直接在数据库中重置submitter_id字段的空值:
UPDATE item SET submitter_id = null WHERE submitter_id IS null;问题并不真正出在doc.addField方法上,因为正确设置db null值将导致getSubmitter()方法正确地验证submitter_id为null,因此getEmail不返回任何内容。相反,问题出在DSpace用来设置null的无效值。
发布于 2014-11-16 22:30:33
详述user323094的评论:
此错误似乎是由以下原因引起的:
doc.addField("item.submitter", item.getSubmitter().getEmail());因此,要么你有一个没有提交者的项目,这意味着getSubmitter导致了NPE,或者有一个提交者,但它没有电子邮件,这意味着getEmail将触发NPE。
https://stackoverflow.com/questions/26300190
复制相似问题