Я пытаюсь добавить org.eclipse.jetty.annotations.AnnotationConfiguration
к configurationClasses
свойству org.eclipse.jetty.webapp.WebAppContext
но (при вызове Jetty с sbt containe:start
), получая:java.lang.reflect.InvocationTargetException в молы-web.xml при установке WebAppContext.configurationClasses
[warn] Config error at <Set name="configurationClasses">
[warn] <Array type="java.lang.String"><Item>org.eclipse.jetty.webapp.WebInfConfiguration</Item><Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item><Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item><Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item><Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item><Item>org.eclipse.jetty.plus.webapp.PlusConfiguration</Item><Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item><Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item></Array>
[warn] </Set>java.lang.reflect.InvocationTargetException in file:/Users/erik.allik/code/scala/webtest/src/main/webapp/WEB-INF/jetty-web.xml
[warn] Failed startup of context [email protected]{/,[file:/Users/erik.allik/code/scala/webtest/src/main/webapp/],STARTING}
Я попытался сменить <Set ...>
на <Call name="setConfigurationClasses">
(с обоими String[]
, а также List<String>
вариантов), но безуспешно, получая одинаковое исключение отражения каждый раз.
Моего jetty-web.xml
выглядит следующим образом:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="configurationClasses">
<Array type="java.lang.String">
<Item>org.eclipse.jetty.webapp.WebInfConfiguration</Item>
<Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item>
<Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item>
<Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item>
<Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.eclipse.jetty.plus.webapp.PlusConfiguration</Item>
<Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item>
<Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item>
</Array>
</Set>
</Configure>
ОТВЕТ: принятие решения по https://github.com/JamesEarlDouglas/xsbt-web-plugin/blob/master/src/jetty-9/scala/Jetty9Runner.scala, xsbt-веб-плагин устанавливает конфигурации свойства WebAppContext
к закодированному значению, поэтому независимо от того, что нет в XML конфиге, вероятно, просто игнорируется (или, по-видимому, вызывает ошибку).
Как насчет раздела * «Применение конфигураций в одном веб-приложении» * в разделе http://wiki.eclipse.org/Jetty/Feature/Annotations? –
Эта документация для Jetty 7 (aka Servlet 2.5) - Документация Jetty 9 (aka Servlet 3.1) находится по адресу http://www.eclipse.org/jetty/documentation/current/annotations.html - сканирование аннотаций для сервлетов/фильтров/websockets/etc ... (ack endpoints) не поддерживается в WebSocketContext. Напечатайте ошибку на bugs.eclipse.org (под RT/Jetty), если вы считаете, что это важно. –
«не поддерживается в« WebAppContext », который вы хотели сказать? –