在 DSpace 中恢复全站 AIP 备份时抛出异常

Exception thrown when restoring full site AIP backup in DSpace

我正在尝试将完整的 DSpace 安装 (4.x) 迁移到新的 6.1。我在表演

[dspace]/bin/dspace packager -d -a -t AIP -e repo@institution.edu -i OURHANDLE/0 sitewide-aip.zip

导出整个站点,没有任何特殊问题。输出是许多 .zip 文件,包括 sitewide-aip.zip.

问题出在尝试在新的 DSpace 安装中恢复时。演出后

[dspace]/bin/dspace packager -r -a -f -t AIP -e repo@institution.edu -i OURHANDLE/0 -o skipIfParentMissing=true /path/to/sitewide-aip.zip

抛出异常

Exception: Bad identifier/handle -- Cannot resolve handle "OURHANDLE/0"
java.lang.IllegalArgumentException: Bad identifier/handle -- Cannot resolve handle "OURHANDLE/0"
at org.dspace.app.packager.Packager.main(Packager.java:342)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)
at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)

无法弄清楚为什么会这样,因为根据我目前的研究,HANDLE/0 应该是指整个安装的基本句柄。

您的句柄前缀是什么?它可以在您的 dspace.cfg 文件中找到。

https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace/config/dspace.cfg#L249

您应该为命令使用该值。

您还应该能够使用以下查询在您的数据库中找到它

 select * from handle where handle like '%/0';

问题最终出在目标安装中的句柄值上。执行后

dspace/bin/dspace update-handle-prefix 123456789 OURHANDLE

目标安装,恢复过程可以完美完成。

感谢大家的帮助。