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

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

Это для бета-версии playframework 2.0.

Использование параметра конфигурации 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.

Ответы

Ответ 1

Воспроизвести 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.

Воспроизведение 2.x - Режим Dev

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

sbt "run 8080"

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

sbt "~run 8080"

Воспроизвести 2.x - Режим отладки

Чтобы запустить в режиме отладки с помощью http-прослушивателя на порту 8080, запустите:

sbt -jvm-debug 9999 "run 8080"

Воспроизведение 2.x - Режим воспроизведения

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

sbt "start -Dhttp.port=8080"

Воспроизведение 2.x - Поэтапное распространение

Создайте поэтапное распределение:

sbt stage

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

target/start -Dhttp.port=8080

Для Play 2.2.x и 2.3.x используйте соответствующий старт script в каталоге 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

Воспроизведение 2.x - Распространение почтовых сообщений

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

sbt dist

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

start -Dhttp.port=8080

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

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

С Play 2.2.x в Windows:

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

Ответ 2

Воспроизвести 2.0-RC4

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

play "run 8080"

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

run 8080

Ответ 3

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

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

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

Ответ 4

Версия 2.0.3:

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

  • Затем скажите запустить 8080. Это начнет воспроизведение на порту 8080.

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

Ответ 5

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

-Dhttp.port=8080

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

Ответ 6

Воспроизведение 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

Ответ 7

Для воспроизведения 2.3.x

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

Ответ 8

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

-Dhttp.port=9001

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

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

Ответ 9

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

sbt "-Dhttp.port=9002"

затем

run

Ответ 10

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

Например

play run 8080 или play start 8080

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

Ответ 11

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

Ответ 12

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

play> run 8888

Ответ 13

для воспроизведения 2.5.x

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

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

Шаг 3: отредактируйте этот файл 'sbtConfig.txt' с помощью этого

-Dhttp.port=9005

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

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

Ответ 14

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

Ответ 15

Воспроизведение 2.2.1 в Windows поддерживает переменную среды PLAY_OPTS. Файл play play.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

Ответ 16

Протестировано с платформой 2.3.7 Play. Работает хорошо.

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

Ответ 17

Я сделал это. sudo.

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

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

Ответ 18

Мы используем Play версии 2.5.6.

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

и что он.

Ответ 19

В Windows я использую файл start.bat следующим образом:

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

"-DapplyEvolutions.default = true" говорит, что эволюция автоматически применяет эволюцию без запроса подтверждения. Следует использовать с осторожностью в производственной среде, конечно...

Ответ 20

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

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

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

Ответ 21

Просто добавьте следующую строку в ваш build.sbt

PlayKeys.devSettings := Seq("play.server.http.port" → "8080")

Ответ 22

Вы могли бы просто в типе оболочки sbt:

run portNumber