У меня есть GWT, которому требуется доступ к некоторым статическим ресурсам.Я не хочу помещать эти ресурсы в фактический каталог / src / main / webapp (примечание: используя Maven и соответствующий макет), потому что они не являются частью приложения, а частью данных.
Моя проблема не в том, как предоставить приложению доступ к этим ресурсам во время развертывания;это должно быть легко сделать через конфигурацию Tomcat.Скорее проблема в том, как предоставить моему приложению доступ к некоторым тестовым данным во время разработки.У меня есть несколько тестовых статических файлов в каталоге за пределами моего дерева приложений GWT, и я хочу настроить сервер Jetty в режиме разработки GWT для доступа к этим ресурсам.То есть я хочу иметь возможность сказать mvn gwt: run (или запустить или отладить приложение в режиме разработки из Eclipse) и заставить сервер обслуживать эти статические ресурсы.
Я знаю (и использую)опция dev mode -noserver.Однако, поскольку я много изменяю код на стороне сервера, наряду с кодом клиента, нецелесообразно повторное развертывание сервера каждый раз, когда изменяется код сервера.
Пока что я пробовал:создать файл jetty-web.xml в моем каталоге WEB-INF и добавить новый контекст, чтобы сервер обслуживал мои ресурсы.Вот мои неудачные попытки с помощью jetty-web.xml:
<Configure id="parentHandler" class="org.mortbay.jetty.handler.ContextHandler">
<Set name="contextPath">/static_resources</Set>
<Set name="resourceBase">/real/filesystem/path/to/static/resources/</Set>
<Set name="handler">
<New class="org.mortbay.jetty.handler.ResourceHandler">
<Set name="cacheControl">max-age=3600,public</Set>
</New>
</Set>
</Configure>
Если я добавлю это в jetty-web.xml, то при запуске режима dev Jetty будет обслуживать мои внешние ресурсы, но не будетмое приложение GWT.
С другой стороны, если я сделаю это ...
<Configure id="parentHandler" class="org.mortbay.jetty.handler.ContextHandler">
<New id="newHandler" class="org.mortbay.jetty.handler.ContextHandler" >
<Set name="contextPath">/static_resources</Set>
<Set name="resourceBase">/real/filesystem/path/to/static/resources/</Set>
<Set name="handler">
<New class="org.mortbay.jetty.handler.ResourceHandler">
<Set name="cacheControl">max-age=3600,public</Set>
</New>
</Set>
</New>
<Get id="server" name="server">
<Call name="setHandler">
<Arg><Ref id="newHandler" /></Arg>
</Call>
</Get>
<Ref id="newHandler">
<Set name="server"><Ref id="server" /></Set>
</Ref>
</Configure>
... Jetty не обслуживает ни мои статические данные, ни мое приложение GWT.
Какие-либо предложения?Что я делаю не так?
(Примечание. В режиме разработки GWT используется версия 6 [или 6. что-то] Jetty, и она настраивается программно, так что, насколько я вижу, другие файлы конфигурации Jetty не используются.читать.)
Большое спасибо!