Как настроить порт, на котором работает приложение Quarkus?

Я хотел бы, чтобы мое приложение Quarkus работало на порте, отличном от порта по умолчанию. Как я могу это сделать?

3 ответа

Решение

Используемое свойство конфигурации 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 связывает 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

Другие вопросы по тегам