Как изменить порт по умолчанию (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:
Надеюсь, это поможет.
Ответ 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