使用 Maven 启动时如何将 jhipster 应用程序配置为 运行 在不同的端口上

How to configure jhipster app to run on different port when launching with maven

Jhipster docs 说你必须

mvn -Pprod package

然后你可以用

执行生成的war

java -jar jhipster-0.0.1-SNAPSHOT.war --spring.profiles.active=prod

您可以将服务器端口配置为

java -jar jhipster-0.0.1-SNAPSHOT.war --spring.profiles.active=prod --server.port=9000

根据 Spring Boot docs 指定命令行参数优先于应用程序属性文件和 YAML 变体。

但是,当尝试 运行 使用不同端口上的 Maven 的应用程序时

mvn -Pprod -Dserver.port=9000 spring-boot:run

仍然从应用程序中读取server.port-prod.yml

mvn -Pprod spring-boot:run -Drun.arguments="--server.port=9000,--spring.profiles.active=prod"

mvn spring-boot:运行 -Drun.arguments="--server.port=9090"

对我来说,将 SERVER_PORT 作为环境变量传递有效:

SERVER_PORT=9000 mvn spring-boot:run

Spring 将 os 环境变量 SERVER_PORT 转换为 spring 的 server.port 配置。

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files