Когда меня попросили установить CKAN, я следую документированной процедуре .
В этой процедуре Ubuntu упоминается как ОС, но, поскольку я нахожусь на Debian 9, я все равно решил пойти дальше.
Мне удалось установить и настроить практически все, вплоть до solr (3.6.2), на jetty (9.2.21) (пакет «solr-jetty», jetty может начать автономно связываться со своим собственным сокетом, так как тест страницы корневого приложения можно увидеть), но NPE выбрасывается и прослеживается в журналах, когда я начинаю причал.
При установке создается файл /etc/jetty9/contexts/solr.xml со следующим содержимым:
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/solr</Set>
<Set name="war">/usr/share/solr/web</Set>
<!-- Set the solr.solr.home system property -->
<Call name="setProperty" class="java.lang.System">
<Arg type="String">solr.solr.home</Arg>
<Arg type="String">/usr/share/solr</Arg>
</Call>
<!-- Enable symlinks -->
<Call name="addAliasCheck">
<Arg>
<New class="org.eclipse.jetty.server.handler.ContextHandler$ApproveSameSuffixAliases"/>
</Arg>
</Call>
</Configure>
на которые я ссылаюсь из файла /etc/jetty9/jetty.conf
jetty-logging.xml
contexts/solr.xml
jetty-started.xml
Файл конфигурации для веб-приложения solr, похоже, правильно выбран. Кроме того, свойство solr.solr.home
похоже отображается в правильный каталог.
Однако при запуске Jetty следующее содержимое записывается в / var / log / jetty9 /:
2018-05-02 11:51:00.827:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@5afa04c{/,file:/var/lib/jetty9/webapps/root/,AVAILABLE}{/root}
2018-05-02 11:51:00.853:INFO:oejs.ServerConnector:main: Started ServerConnector@41b12eec{HTTP/1.1}{127.0.0.1:8983}
2018-05-02 11:51:00.853:INFO:oejs.Server:main: Started @831ms
2018-05-02 11:51:00.853:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@40ef3420{/solr,null,null}{/usr/share/solr/web}
java.lang.NullPointerException
at org.eclipse.jetty.webapp.Configuration$ClassList.serverDefault(Configuration.java:131)
at org.eclipse.jetty.webapp.WebAppContext.loadConfigurations(WebAppContext.java:932)
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:435)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:504)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1255)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1174)
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.eclipse.jetty.start.Main.invokeMain(Main.java:321)
at org.eclipse.jetty.start.Main.start(Main.java:817)
at org.eclipse.jetty.start.Main.main(Main.java:112)
Я просто не могу понять, что вызывает NPE.