我希望我的 Quarkus 应用程序在默认端口以外的端口上运行。我怎样才能做到这一点?
3 回答
要使用的 Quarkus 配置属性是quarkus.http.port
(默认值为 8080)。如果设置了此属性,application.properties
则将使用该值。
该属性也可以在运行时被覆盖,如下所示:
在 JVM 模式下运行 Quarkus 应用程序时,您可以使用 quarkus.http.port 系统属性设置端口。例如:
java -Dquarkus.http.port=8081 -jar example-runner.java
相同的属性适用于 GraalVM 原生模式图像。例如:
./example-runner -Dquarkus.http.port=8081
为了补充 geoand 的答案,您可以将相同的属性用于mvn quarkus:dev
. 不幸的是,您不能直接在配置文件中设置它~/.m2/settings.xml
以避免每次都需要键入它(例如,因为Microk8s 绑定 8080),但您可以通过以下方式设置它jvm.args
:
<profiles>
<profile>
<id>microk8s-quarkus-dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jvm.args>-Dquarkus.http.port=8090</jvm.args>
</properties>
</profile>
</profiles>
或者,您可以在项目源中配置它:
echo '%dev.quarkus.http.port=8090' >> src/main/resources/application.properties
尽管这不会在项目之间共享,并且可能会被同一项目的其他开发人员不需要。
您可以使用<projhome>/resources/application.properties
来配置端口。
例如
quarkus.http.port=8080
%dev.quarkus.http.port=8811
%test.quarkus.http.port=7711
%server.quarkus.http.port=6611
这里 dev、test 和 server 指的是配置文件。
您可以按如下方式运行它们
$ mvn compile quarkus:dev
-- 将使用端口 8811
$ mvn -Dquarkus-profile=server compile quarkus:dev
-- 将使用端口 6611