Grails 4:独立端口

Posted

技术标签:

【中文标题】Grails 4:独立端口【英文标题】:Grails 4: Standalone port 【发布时间】:2021-05-04 23:02:03 【问题描述】:

我正在使用 Grails 4.x 并通过以下方式创建可运行的战争

grails war

命令。我可以通过

运行它
java -jar myapp.jar

我想通过参数动态更改端口,并尝试过

-Dgrails.server.port.http=8083

但没有成功。它仍然在默认端口 8080 上运行。早期使用 Grails 2.3.6,它使用参数 port=808。

我在文档中找不到任何内容 (http://docs.grails.org/3.1.1/ref/Command%20Line/war.html)

【问题讨论】:

【参考方案1】:

如果您为server.port 系统属性分配一个值,则将使用该值。

~ $ grails -version
| Grails Version: 4.0.5
| JVM Version: 1.8.0_202
~ $ 
~ $ grails create-app sullivanportdemo
| Application created at /Users/jeffscottbrown/sullivanportdemo
~ $ 
~ $ cd sullivanportdemo 
sullivanportdemo $ ./gradlew assemble
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details

BUILD SUCCESSFUL in 19s
7 actionable tasks: 7 executed
sullivanportdemo $ 
sullivanportdemo $ java -jar build/libs/sullivanportdemo-0.1.war 
Grails application running at http://localhost:8080 in environment: production

sullivanportdemo $ 
sullivanportdemo $ java -Dserver.port=8084 -jar build/libs/sullivanportdemo-0.1.war
Grails application running at http://localhost:8084 in environment: production

【讨论】:

谢谢,这就像一个魅力。有趣的是,我反其道而行之,但这不起作用: java -jar myapp.jar -Dserver.port=8084

以上是关于Grails 4:独立端口的主要内容,如果未能解决你的问题,请参考以下文章

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

使用 Gradle 运行时设置 Grails 端口

在开发中更改 grails 3.0.9 中的默认服务器端口

是否可以在 Grails 之外使用 Grails 验证?如何?

Grails 项目运行错误 - 服务器无法为端口 8080 启动:地址已在使用中:JVM_Bind

如何调试 grails 运行时异常?