Причал мигрировал в Eclipse.Об этом очень тонкая информация.Это также привело к изменению имени пакета, что является еще одним уровнем нюансов.Они опубликовали утилиту для преобразования настроек Jetty6 в настройки Jetty 7, но опять же - не очень популярно.Я разочарован в форуме Eclipse Jetty.Здесь вы должны искать документацию по Jetty 7 и далее http://wiki.eclipse.org/Jetty/Starting
Я думаю, что это минимальный jetty.xml
взятый из http://wiki.eclipse.org/Jetty/Reference/jetty.xml
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">\
<Configure id="Server" class="org.eclipse.jetty.server.Server">
</Configure>
Но я бы предпочелначать с копии $JETTY_HOME/etc/jetty.xml
и изменить ее оттуда.
Если у вас все в порядке с каталогом $JETTY_HOME/webapps
, вы можете настроить порт, изменив эту часть
<Configure id="Server" class="org.eclipse.jetty.server.Server">
...
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="7777"/></Set>
<Set name="maxIdleTime">300000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">20000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
....
</Configure>
Иначе я изменю context.xml
способ, описанный здесь (для Jetty 7) Как обслуживать веб-приложение A из порта A и веб-приложение B из порта B
Также см. Эти страницы:
.... Редактировать # 1: извините за неправильный URL для веб-приложения в соответствии сразъем.Я обновил ссылку на Как обслуживать веб-приложение A из порта A и веб-приложение B из порта B , чтобы указывать на документ, предназначенный для Jetty 7.
Обновление о том, «как вы работаете с Jetty в различных средах?»
Dev
Мы используем Maven, поэтому Embed Jetty работает для нас.Мы просто запускаем mvn clean install run:jetty
, и порт настраивается в конфигурационном файле Maven, а именно pom.xml
.Это не зависит от IDE, плюс Jetty можно легко внедрить с помощью ANT, но я никогда не пытался.
Тест
У нас есть автономный JettyБег.Я настроил порт и настроенные параметры, удалил приложения по умолчанию (например, root.war и т. Д.) И создал context.xml с портами для конкретных приложений и каталогом развертывания.(К сожалению, я задал этот вопрос в списке рассылки Eclipse Jetty, и никто не удосужился ответить).Это однократная настройка.
Для тестовых сборок / развертываний у нас есть скрипт сборки, который создает WAR согласно спецификациям тестовой среды и затем загружает его в тестовую среду.После этого мы вызываем сценарий оболочки, который (1) останавливает Jetty, (2) копирует военный файл в директиву webApp для myApp и (3) перезапускает Jetty.
Однако проще сделать это с помощью Maven's Cargo.плагин.Неудача заключалась в том, что я использовал Jetty 7.1.6, который был несовместим с Cargo.Позже они это исправили, но я выполнил свою работу с помощью пользовательского скрипта.
Prod
Prod имеет почти ту же процедуру, что и test, за исключением.Настройки сделаны для большей безопасности и распределения нагрузки.Но от развертывания POV нет ничего отличного от Test case и Prod.
Обратите внимание, что я не беспокоился о том, что такое XML-файлы и сколько их должно быть.Я только что использовал те, которые меня беспокоят - jetty.xml
и context.xml
.Кроме того, я обнаружил, что гораздо удобнее использовать jetty.conf
и jetty.sh
для передачи параметров JVM, пользовательских XML-файлов, а также для запуска и остановки.
Надеюсь, это поможет.
При горячем развертывании:
Теперь, если вы используете Maven и используете встроенный Jetty.Он просто знает, когда код изменяется - например, «перехватчик выстрела».В dev envt вы запускаете Jetty, вносите изменения, обновляете страницу и видите свои изменения - горячее развертывание .Найти больше здесь http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin искать scanIntervalSeconds