#java #tomcat #dspace
#java #tomcat #dspace
Вопрос:
Я пытаюсь изменить метаданные по умолчанию, которые используются объектом-исследователем для создания профилей. Я следовал инструкциям на этой странице: https://wiki.duraspace.org/display/DSPACECRIS/How для сбора данных о CRIS сущностях, и профили создаются, но теперь я получаю внутреннюю ошибку сервера.
Я изменил строки ниже в /dspace/config/dspace.cfg
От
choices.plugin.dc.contributor.author = RPAuthority
choices.presentation.dc.contributor.author= lookup
authority.controlled.dc.contributor.author = true
Для
choices.plugin.dc.contributor.myorganizationauthor = RPAuthority
choices.presentation.dc.contributor.myorganizationauthor= lookup
authority.controlled.dc.contributor.myorganizationauthor = true
и это журнал:
org.apache.jasper.JasperException: javax.servlet.ServletException: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: No choices plugin was configured for field "dc_contributor_author".
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:598)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:499)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.servlet.ServletException: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: No choices plugin was configured for field "dc_contributor_author".
at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:470)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316)
at org.dspace.app.webui.util.JSPManager.showJSP(JSPManager.java:60)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:191)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
... 28 more
Caused by: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: No choices plugin was configured for field "dc_contributor_author".
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:598)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
... 39 more
Caused by: java.lang.IllegalArgumentException: No choices plugin was configured for field "dc_contributor_author".
at org.dspace.content.authority.ChoiceAuthorityManager.getChoose(ChoiceAuthorityManager.java:584)
at org.dspace.content.authority.ChoiceAuthorityManager.getChoiceAuthority(ChoiceAuthorityManager.java:575)
at org.dspace.app.webui.cris.util.ItemCrisRefDisplayStrategy.getMetadataDisplay(ItemCrisRefDisplayStrategy.java:60)
at org.dspace.app.webui.util.ASimpleDisplayStrategy.getMetadataDisplay(ASimpleDisplayStrategy.java:87)
at org.dspace.app.webui.jsptag.DiscoveryArtifactTag.printViewField(DiscoveryArtifactTag.java:273)
at org.dspace.app.webui.jsptag.DiscoveryArtifactTag.showPreview(DiscoveryArtifactTag.java:130)
at org.dspace.app.webui.jsptag.DiscoveryArtifactTag.doEndTag(DiscoveryArtifactTag.java:82)
at org.apache.jsp.home_jsp._jspService(home_jsp.java:1182)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
... 48 more
2019-04-15 15:20:21,963 WARN org.dspace.core.NewsManager @ news_read: /usr/local/dspace/config/news-footer.html (No such file or directory)
Ответ №1:
Я нашел решение, благодаря помощи Андреа Боллини.
Что происходило, когда я изменил это:
choices.plugin.dc.contributor.author = RPAuthority
choices.presentation.dc.contributor.author= lookup
authority.controlled.dc.contributor.author = true
к этому:
choices.plugin.dc.contributor.myorganizationauthor = RPAuthority
choices.presentation.dc.contributor.myorganizationauthor= lookup
authority.controlled.dc.contributor.myorganizationauthor = true
Я также удалил требуемый плагин ChoiceAuthority для dc.contributor.author. Чтобы исправить это, мне нужно было добавить этот дополнительный фрагмент кода.
choices.plugin.dc.contributor.author = AuthorAuthority
choices.presentation.dc.contributor.author= lookup
authority.controlled.dc.contributor.author = true
И в разделе «plugin.na: med.org.dspace.content.authority.ChoiceAuthority = «, мне нужно было зарегистрировать мой новый ChoiceAuthority «AuthorAuthority»
Это должно выглядеть так:
##### Authority Control Settings #####
plugin.named.org.dspace.content.authority.ChoiceAuthority =
org.dspace.app.cris.integration.ORCIDAuthority = RPAuthority,
org.dspace.content.authority.ItemAuthority = AuthorAuthority,
...
Все это объясняется по следующей ссылке:
https://wiki.duraspace.org/display/DSPACE/Authority Control of Metadata Values#AuthorityControlofMetadataValues-SeparationofChoicesfromAuthorityControl