Как изменить порт по умолчанию (9000), который Play использует при выполнении команды «run»? - PullRequest
202 голосов
/ 21 ноября 2011

Как изменить порт по умолчанию, используемый платформой воспроизведения в режиме разработки при вводе команды «run» на игровой консоли.

Это для playframework 2.0 beta.

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

C:\dev\prototype\activiti-preso>play run --http.port=8080
[info] Loading project definition from C:\dev\prototype\activiti-preso\project
[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 ]

396 голосов
/ 21 ноября 2011

Воспроизвести 1.x

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

play run --http.port=8080

Воспроизвести 2.x

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

Play 2.x - Режим разработки

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

sbt "run 8080"

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

sbt "~run 8080"

Play 2.x - Режим отладки

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

sbt -jvm-debug 9999 "run 8080"

Play 2.x - Режим Prod

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

sbt "start -Dhttp.port=8080"

Play 2.x - Распределенное распределение

Создание поэтапного дистрибутива:

sbt stage

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

target/start -Dhttp.port=8080

Для Play 2.2.x& 2.3.x используйте соответствующий стартовый скрипт в каталоге target/universal/stage/bin:

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

С Play 2.2.x & 2.3.x на Windows:

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

Play 2.x- Zip Distribution

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

sbt dist

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

start -Dhttp.port=8080

Для Play 2.2.x используйте соответствующий скрипт в [appname]-[version]/bin каталог:

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

с Play 2.2.x на Windows:

[appname]-[version]\bin\[appname].bat -Dhttp.port=8080
32 голосов
/ 09 марта 2012

Play 2.0-RC4

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

play "run 8080"

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

run 8080
11 голосов
/ 07 декабря 2017

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

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

...
.settings(PlayKeys.playDefaultPort := 8855)
...
7 голосов
/ 31 августа 2012

Версия 2.0.3 :

  • Перейдите в каталог проекта и просто скажите play (и ничего после этого). Это откроет игровую консоль.

  • Далее произнесите пробег 8080 . Это начнет играть на порту 8080.

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

5 голосов
/ 23 марта 2014

Play 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
5 голосов
/ 20 января 2014

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

-Dhttp.port=8080

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

5 голосов
/ 25 июля 2015

Для Play 2.3.x

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

4 голосов
/ 19 июня 2013

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

-Dhttp.port=9001

Тогда вам не нужно каждый раз добавлять его в задачу run.

Протестировано с Play 2.1.1.

3 голосов
/ 10 октября 2016

для Play 2.5.x и Play 2.6.x

sbt "-Dhttp.port=9002"

затем

run
2 голосов
/ 25 ноября 2011

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

Например,

play run 8080или play start 8080

Воспроизведение по умолчанию для порта 9000

...