如何配置运行 Quarkus 应用程序的端口?

How can I configure the port a Quarkus application runs on?

我希望我的 Quarkus 应用程序 运行 在非默认端口上。我怎样才能做到这一点?

要使用的 Quarkus 配置 属性 是 quarkus.http.port(默认值为 8080)。 如果 属性 在 application.properties 中设置,则将使用该值。

属性 也可以在运行时被覆盖,如下所示:

当 运行 Quarkus 应用程序处于 JVM 模式时,您可以使用 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 binds 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>

或者,您可以配置此 in project sources:

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