В Grails3 grails -Dserver.port=9001 run-app
не работает:
Я "получаю уже привязанный адрес 8080".
Любая идея, как это сделать - в идеале, передав свойство в "gradle run"?
В Grails3 grails -Dserver.port=9001 run-app
не работает:
Я "получаю уже привязанный адрес 8080".
Любая идея, как это сделать - в идеале, передав свойство в "gradle run"?
Ты можешь использовать
server:
port: 9001
in application.yml
.
Или вы можете передать его через системную среду. (например, SERVER_PORT=9001 grails run-app
).
grails run-app --port=8081
Или в интерактивном режиме:
run-app --port=8081
Не забудьте использовать тот же порт, когда хотите остановить сервер:
stop-app --port=8081
Я считаю, что эта функция была сломана в 3.0.3 и более ранних версиях, но она определенно работает в 3.0.4.
Принятый ответ правильный. Для получения дополнительной информации Grails 3 использует spring-boot, а свойства сервера настраиваются с помощью
org.springframework.boot.autoconfigure.web.ServerProperties
класс. «порт» — это просто свойство этого класса, которое заполняется из application.yml с префиксом «сервер». Таким образом, в дополнение к порту вы можете установить свойства этого класса, включая свойства конфигурации tomcat и т. д. Например, чтобы изменить contextPath, вы добавляете
server:
contextPath: /myapp
вам application.yml.
server:
port: 9809
contextPath: '/admin/'
вы можете использовать это в своем файле application.yml
или изменить порт в зависимости от среды, например:
environments:
test:
grails:
serverURL: "http://localhost:9809"