liveBook · Manning

Project object model

As explained in Quarkus in Action

A pom.xml file is the XML build descriptor that defines a Maven project's dependencies, plugins, profiles, and other build settings.

A pom.xml file is Maven’s XML build descriptor for a Quarkus project. It organizes dependencies, build plugins, platform version management, profiles, and related build settings within the standard Java project structure. section 2.2 section 2.2.1

The most important pom.xml areas provide the following controls:

  • Dependencies add Quarkus extensions and testing artifacts such as quarkus-rest, quarkus-arc, quarkus-junit5, and Rest Assured. section 2.2.1
  • The Quarkus BOM supplies compatible versions for platform extensions through dependencyManagement, while some Quarkiverse extensions require explicit versions. section 2.2.1
  • The Quarkus Maven plugin packages application artifacts, manages Dev mode, and runs build, code-generation, test-code-generation, and native-image-agent goals. section 2.2.1
  • Profiles activate alternate build behavior, including a native profile that enables native-image support and allows integration tests to run. section 2.2.1

Adding a Kafka capability

Use the Quarkus CLI to search installable extensions, filter the messaging category, and run quarkus extension add "quarkus-messaging-kafka". The command updates pom.xml by adding the corresponding Maven dependency. Remove it with quarkus extension remove, or edit the dependencies section directly when the required artifact is already known. section 2.7.3

Figure 2.3 Quarkus application directory structure for Maven-based projects
figure

Use the project directory structure to locate pom.xml alongside Java sources, resources, tests, generated Dockerfiles, and Maven Wrapper files. section 2.2

How Quarkus in Action covers it

How deep it goes
Explains dependencies, BOM version management, plugin goals, and a native profile, but does not provide exhaustive Maven configuration reference.
Examples
Uses REST, Arc, JUnit 5, Rest Assured, the Quarkus Maven plugin, a native profile, and Kafka extension commands.
What it assumes
Assumes familiarity with Maven terminology while showing the standard Java project layout and Quarkus-specific configuration from generated files.
What you can do after
Operate/configure it through Maven or the Quarkus CLI by adding extensions, inspecting dependencies, and selecting native build behavior.
How it connects
Connects Maven dependencies, dependency management, BOMs, Maven plugins, build profiles, Quarkus extensions, and native builds.

Also explained in

Compare how 3 books explain project object model →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Quarkus in Action. The section links point to the parts of the book it draws on.