Grails 3 - 更改运行应用程序的默认端口

Posted

技术标签:

【中文标题】Grails 3 - 更改运行应用程序的默认端口【英文标题】:Grails 3 - change default port for run-app 【发布时间】:2015-04-09 09:21:50 【问题描述】:

在 Grails3 中 grails -Dserver.port=9001 run-app 似乎不起作用:

我正在“获取地址已经绑定 8080”。

知道如何做到这一点 - 最好是通过将属性传递给“gradle run”?

【问题讨论】:

【参考方案1】:

你可以使用

server:
  port: 9001

application.yml.

或者你可以通过系统环境传递它。 (例如SERVER_PORT=9001 grails run-app)。

【讨论】:

【参考方案2】:
grails run-app --port=8081

或者在交互模式下:

run-app --port=8081

当你想停止服务器时不要忘记使用相同的端口:

stop-app --port=8081

我相信这个功能在 3.0.3 和更早的版本中被破坏了,但它在 3.0.4 中肯定可以工作。

【讨论】:

【参考方案3】:

接受的答案是正确的。对于一些附加信息,Grails 3 使用 spring-boot 并且服务器属性由

org.springframework.boot.autoconfigure.web.ServerProperties

类。 “port”只是这个类的一个属性,它是从 application.yml 中填充的,前缀为“server”。因此,除了端口之外,您还可以设置此类的属性,包括 tomcat 配置属性等。要更改 contextPath 例如您添加

server: 
   contextPath: /myapp

给你 application.yml。

【讨论】:

【参考方案4】:
  server:
  port: 9809
  contextPath: '/admin/'

你可以在你的 application.yml 文件中使用它

或更改端口取决于环境例如:

    environments:
        test:
            grails:
                serverURL: "http://localhost:9809"

【讨论】:

以上是关于Grails 3 - 更改运行应用程序的默认端口的主要内容,如果未能解决你的问题,请参考以下文章

Grails 4:独立端口

如何让 grails run-app 在文件更改时重新编译它们?

Grails 2.3.5 在每次代码更改后都需要“grails clean”

如何在 Grails 3 中更改每个插件的编解码器?

使用 Gradle 运行时设置 Grails 端口

如何在 Grails 3 中更改应用程序名称?