第 4 章 通过配置 pom.xml 文件来创建 Quarkus 项目

您可以通过配置 Maven POM XML 文件来创建 Quarkus 项目。

流程

  1. 在文本编辑器中打开 pom.xml 文件。
  2. 添加包含以下内容的配置属性:

    • Quarkus Maven 插件的版本
    • Quarkus BOM 的 groupIDartifactID 和版本
    • Maven Surefire 插件的版本
    <properties>
        <quarkus-plugin.version>1.11.7.Final-redhat-00009</quarkus-plugin.version>
        <quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
        <quarkus.platform.group-id>com.redhat.quarkus</quarkus.platform.group-id>
        <quarkus.platform.version>1.11.7.Final-redhat-00009</quarkus.platform.version>
        <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
    </properties>
  3. 添加 Quarkus GAV (组、工件、版本),并使用 quarkus-universe-bom 文件省略不同 Quarkus 依赖项的版本:

    <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>${quarkus.platform.group-id}</groupId>
            <artifactId>${quarkus.platform.artifact-id}</artifactId>
            <version>${quarkus.platform.version}</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
  4. 添加 Quarkus Maven 插件:

    <build>
        <plugins>
            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-maven-plugin</artifactId>
                <version>${quarkus.platform.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  5. 可选: 要构建原生应用程序,请添加包括 Maven Surefire 和 Maven Failsafe 插件的特定原生配置集,并启用 原生 软件包类型:

    <profiles>
        <profile>
            <id>native</id>
            <properties>
                <quarkus.package.type>native</quarkus.package.type>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <version>${surefire-plugin.version}</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                                <configuration>
                                    <systemProperties>
                                        <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
                                    </systemProperties>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    在其名称中包含 IT 的测试会被注解 @NativeImageTest,针对原生可执行文件运行。