Quarkus:运行时复制资源 quarkus:dev 目标

Mel*_*are 5 maven quarkus

我有一个 Web 应用程序,需要将 Java 文件复制到输出 Quarkus 应用程序中,因为我在网页中显示代码片段作为帮助。目前我能解决这个问题的唯一方法是compile在运行mvn compile quarkus:dev目标时始终调用。然而,这不是标准的,因为大多数 Quakrus 应用程序都是mvn quarkus:dev开箱即用的!

我的问题是如何附加到 Quarkus 插件生命周期?

我当前的复制资源仅在compile阶段中工作,似乎不在quarkus:dev模式下运行。

复制资源插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.3.0</version>
    <executions>
        <execution>
            <id>copy-java-files</id>
            <phase>process-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <propertiesEncoding>UTF-8</propertiesEncoding>
                <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                <resources>
                    <resource>
                        <directory>src/main/java</directory>
                        <filtering>false</filtering>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

当前的 Quarkus 插件:

<plugin>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-maven-plugin</artifactId>
    <version>${quarkus.version}</version>
    <extensions>true</extensions>
    <executions>
        <execution>
            <goals>
                <goal>build</goal>
                <goal>generate-code</goal>
                <goal>generate-code-tests</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

任何帮助我们的指导将不胜感激!

我已经<phase>为我的插件尝试了许多不同的属性,但它们似乎都没有在 Quarkus 生命周期中执行,而且我在 Quakrus 网站上找不到任何文档,如何执行此操作?

Mel*_*are 0

报告为 Quarkus 的增强功能:https ://github.com/quarkusio/quarkus/issues/30166

用户“famod”建议的一个好的解决方法是创建一个配置文件,然后mvn -Pqdev使用以下配置文件进行调用。

<profile>
   <id>qdev</id>
   <build>
      <defaultGoal>compile quarkus:dev</defaultGoal>
   </build>
</profile>
Run Code Online (Sandbox Code Playgroud)

编辑 06/01/2023: Quarkus 3.2.0.Final 最终将包含此内容,以便您可以执行正常的编译阶段等。使用此 PR 修复: https: //github.com/quarkusio/quarkus/pull/33617