技能 编程开发 创建 Quarkus 项目

创建 Quarkus 项目

v20261016
create-quarkus-project
本技能涵盖使用 Quarkus CLI、Maven 插件或 Gradle 创建新项目。包括选择 REST API、数据库和安全性扩展,学习搭建应用、配置构建工具并在开发模式下运行。适用于 Java 后端开发和微服务初始化。
获取技能
489 次下载
概览

Create a Quarkus Project

1. Detect the environment

java -version          # Java 17, 21 or 25 (Quarkus 3.40 recommends 25, 3.27 recommends 21)
quarkus --version      # optional Quarkus CLI
./mvnw -v || mvn -v    # or ./gradlew -v

If the folder already contains a Quarkus project (io.quarkus.platform BOM, quarkus-maven-plugin, or io.quarkus Gradle plugin), do NOT scaffold: read its Quarkus version and keep it. For a new project, use the stream marked recommended on https://code.quarkus.io/api/streams (an LTS stream; see also https://quarkus.io/support/), and do not invent a patch version: let the tool pick it. Quarkus 4.0 is still a beta, so do not use it unless asked. If an extension is missing from the recommended stream, the CLI silently picks an older stream; check quarkus.platform.version in the generated build file.

2. Scaffold (pick one)

Quarkus CLI (install via https://quarkus.io/get-started/ , e.g. SDKMAN sdk install quarkus):

quarkus create app com.example:demo \
  --extension='rest-jackson,hibernate-orm-panache,jdbc-postgresql,hibernate-validator,smallrye-health' \
  --java=21 --maven        # or --gradle

No CLI: Maven plugin (pin the version to the current release from https://quarkus.io/guides/maven-tooling, replace QUARKUS_VERSION below with it):

mvn io.quarkus.platform:quarkus-maven-plugin:QUARKUS_VERSION:create \
  -DprojectGroupId=com.example -DprojectArtifactId=demo \
  -Dextensions='rest-jackson,hibernate-orm-panache,jdbc-postgresql' \
  -DbuildTool=maven        # or gradle

Or generate from the https://code.quarkus.io web UI / REST API (https://code.quarkus.io/d?g=com.example&a=demo&e=rest-jackson&b=MAVEN) and unzip.

3. Choose extensions

Need Extension
REST + JSON rest-jackson (Quarkus REST; not legacy resteasy)
Database ORM hibernate-orm-panache, jdbc-postgresql
Validation hibernate-validator
Health / metrics smallrye-health, micrometer-registry-prometheus
Auth oidc or smallrye-jwt
OpenAPI smallrye-openapi
REST client rest-client-jackson
Container container-image-jib (or container-image-docker)

Add later with quarkus extension add <name> or ./mvnw quarkus:add-extension -Dextensions=<name>; quarkus extension list --installable lists options.

4. Layout and run

src/main/java/...          # resources, services, entities
src/main/resources/application.properties
src/main/docker/           # Dockerfile.jvm, Dockerfile.native, ...
src/test/java/...          # @QuarkusTest / @QuarkusIntegrationTest
./mvnw quarkus:dev         # or: quarkus dev / ./gradlew quarkusDev

Generated tests include a *IT class that Maven skips by default (<skipITs>true</skipITs> in the template); run it with ./mvnw verify -DskipITs=false or -Dnative. Dev mode gives live reload, Dev UI at http://localhost:8080/q/dev-ui, Dev Services (auto containers), and continuous testing (press r). Package: ./mvnw package (runnable target/quarkus-app/quarkus-run.jar).

References

Verified (scaffold, ./mvnw verify, ./gradlew build, dev mode, Dev Services PostgreSQL, JDK 26 with Java 25 release) on Quarkus 3.40.1 (current recommended LTS stream) and ./mvnw verify on 3.27.6 (older LTS).

Related skills: quarkus-dev-services-and-testing, quarkus-native-and-container.

Upstream sources (read before upgrading)

Fetch the page for the target version; prefer it over this skill when they conflict.

信息
Category 编程开发
Name create-quarkus-project
版本 v20261016
大小 6.44KB
更新时间 2026-10-17
语言