Как изменить порт по умолчанию (9000), который использует Play при выполнении команды "выполнить"?

Как изменить порт по умолчанию, используемый платформой play в режиме разработки при выдаче команды "выполнить"на консоли play.

Это для playframework 2.0 beta.

использование http.параметр конфигурации порта в командной строке или в приложении.conf, похоже, не имеет никакого эффекта:

C:devprototypeactiviti-preso>play run --http.port=8080
[info] Loading project definition from C:devprototypeactiviti-presoproject
[info] Set current project to activiti-preso (in build file:/C:/dev/prototype/activiti-preso/)


Windows, really? Ok, disabling colors.

--- (Running the application from SBT, auto-reloading is enabled) ---

[error] org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:9000
[error] Use 'last' for the full log.

20 ответов


Play 1.x

изменить http.port значение conf/application.conf файл или передать его в командной строке:

play run --http.port=8080

игра 2.x

игра 2.x-это плагин sbt, поэтому следующие команды действительно просто команды СБТ. Вы можете использовать любой SBT launcher (например,sbt, play, или activator). Команды ниже используют sbt запуска, но вы можете заменить его для вашего sbt launcher выбора.

игра 2.x-Dev Режим

для браузера-режим перезагрузки:

sbt "run 8080"

для режима непрерывной перезагрузки:

sbt "~run 8080"

игра 2.х - режим отладки

для запуска в режиме отладки с прослушивателем http на порту 8080, run:

sbt -jvm-debug 9999 "run 8080"

игра 2.режим x-Prod

запуск в режиме Prod:

sbt "start -Dhttp.port=8080"

игра 2.X-Staged Distribution

создать устроили раздачи:

sbt stage

Для Игры 2.0.x и 2.1.икс используйте target/start скрипт (только для Unix):

target/start -Dhttp.port=8080

Для Игры 2.2.x & 2.3.x используйте соответствующий сценарий запуска в :

target/universal/stage/bin/[appname] -Dhttp.port=8080

С Игрой 2.2.x & 2.3.x на Windows:

target\universal\stage\bin\[appname].bat -Dhttp.port=8080

игра 2.распределение X-Zip

создать zip дистрибутив:

sbt dist

Для Игры 2.0.x и 2.1.x Используйте start скрипт (только Unix) в извлеченном zip:

start -Dhttp.port=8080

Для Игры 2.2.x использовать соответствующий скрипт в :

[appname]-[version]/bin/[appname] -Dhttp.port=8080

С Игрой 2.2.x на Windows:

[appname]-[version]\bin\[appname].bat -Dhttp.port=8080

играть 2.0-RC4 и

важно включить кавычки вокруг команды воспроизведения, которую вы хотите запустить. В моем случае без котировок игра все равно будет работать на порту 9000.

play "run 8080"

в качестве альтернативы вы можете запустить следующее из игровой консоли (введите "play", чтобы добраться до консоли)

run 8080

версия 2.0.3 :

  • перейти в каталог проекта и просто сказать играть (и ничего после этого). Это откроет консоль воспроизведения.

  • далее, скажем выполнить 8080. Это начнет играть на порту 8080.

надеюсь, это поможет.


Для Игры 2.2.x в Windows с распространяемым файлом tar я создал файл в распространяемом корневом каталоге с именем: {PROJECT_NAME}_config.TXT и добавил:

-Dhttp.port=8080

где {имя_проекта} следует заменить именем вашего проекта. Затем запустил {PROJECT_NAME}.скрипт bat как обычно в каталоге bin\.


Для Игры 2.3.x

активатор " run-Dhttp.порт=9001"


надеюсь, это кому-то поможет.

через настройки sbt:

...
.settings(PlayKeys.playDefaultPort := 8855)
...

вы также можете установить порт HTTP в .sbtopts в каталоге проекта:

-Dhttp.port=9001

тогда вам не нужно помнить, чтобы добавить его в run задач каждый раз.

испытано с игрой 2.1.1.


играть 2.2.0 на Windows

используя zip-дистрибутив (созданный с помощью команды "dist"), единственный способ изменить порт запуска-сначала установить JAVA_OPTS, а затем запустить приложение.

например, из командной строки

set JAVA_OPTS=-Dhttp.port=9002
bin\myapp.bat

где myapp.bat-это пакетный файл, созданный командой "dist".

следующее всегда будет игнорировать мой http.параметр port и попытка запуска порта по умолчанию, 9000

bin\myapp.bat -Dhttp.port=9002

однако я заметил, что это отлично работает на Linux / OSX, запускаясь на запрошенном порту:

./bin/myapp -Dhttp.port=9002

на Windows, возможно, игра "run 9001" не будет работать. Вы должны изменить игру.Bat-файл. См.авиабилет


для игры 2.5.x и играть 2.6.x

sbt "-Dhttp.port=9002"

затем

run

Он еще не работает в бета-версии. Будет добавлен в предстоящем выпуске.


с фиксацией, введенной сегодня (25 ноября), теперь вы можете указать номер порта сразу после run или start команды sbt.

например

play run 8080 или play start 8080

играть по умолчанию порт 9000


С игровой консоли вам просто нужно ввести run 8888, если вы хотите запустить его с порта 8888.

play> run 8888

для игры 2.5.x

Шаг 1: остановите сервер netty (если он запущен) с помощью control + D

Шаг 2: Перейдите к sbt-dist / conf

Шаг 3: отредактируйте этот файл ' sbtConfig.тхт с этой

-Dhttp.port=9005

Шаг 4: запустите сервер

Шаг 5: http://host:9005/


в windows я использую start.bat-файл такой:

java -Dhttp.port=9001 -DapplyEvolutions.default=true -cp "./lib/*;" play.core.server.NettyServer "."

The-DapplyEvolutions.по умолчанию = true указывает evolution автоматически применять эволюции без запроса подтверждения. Используйте с осторожностью на производственной среде, конечно...


Play 2.2.1 в Windows поддерживает переменную среды PLAY_OPTS. Игра есть игра.bat-файл содержит следующую строку:

java -Dsbt.ivy.home="%~dp0repository" -Dplay.home="%~dp0framework" -Dsbt.boot.properties="%fp%framework/sbt/play.boot.properties" %PLAY_OPTS% -jar "%~dp0framework\sbt\sbt-launch.jar" %*

Итак, чтобы работать на порту 9002, сделайте

set PLAY_OPTS=-Dhttp.port=9002
play run

протестировано с 2.3.7 Play framework. Хорошо работать.

./{application}/bin/{executable} -Dhttp.port=5000

мы не можем изменить порт приложения из avtivator, но можем изменить из активатора командной строки "~run 8080"

но для запуска поэта 9000 из активатора нам нужно остановить приложение, которое использует этот порт. Мы можем использовать это приложение, чтобы найти это и завершить процессhttps://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

после этого мы можем запустить и он будет успешным.


Я сделал это. sudo необходимо.

$ sudo play debug -Dhttp.port=80
...
[MyPlayApp] $ run

EDIT: у меня были проблемы из-за использования sudo так позаботиться. Наконец, я очистил проект, и я больше не использовал этот трюк.


мы используем версию игры 2.5.6.

для изменения порта, перейдите в корневую папку проекта и нажмите: activator "run 8008" в командной строке / терминале.

и это все.