我有一个 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 网站上找不到任何文档,如何执行此操作?
报告为 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
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |