【发布时间】:2022-09-27 22:01:28
【问题描述】:
创建自定义 mule 扩展时是否可以覆盖自动生成的 mule-artifact.json?
-
为什么要覆盖它?你有什么问题?
创建自定义 mule 扩展时是否可以覆盖自动生成的 mule-artifact.json?
是的,它可以被覆盖,您需要将您的自定义 mule-artifact.json 放在下面META-INF/mule-artifact/mule-artifact.json在您项目的src/main/resources 中。
【讨论】:
${project.home}/src/main/resources/META-INF/mule-artifact 中有我的mule-artifact.json,但是当我运行maven test 时,会在target\classes\META-INF\mule-artifact 中创建一个生成的版本。当我运行maven generate-sources 时,我的版本被复制到target\classes\META-INF\mule-artifact。
src/test/resources 下维护它的副本?不过不太确定。
export 你的某些资源,但我认为你不需要导出任何东西进行测试。我可能是错的。
mvn test 与如何生成包无关。如果您真的想看看它的实际外观,您可以改用mvn clean install
覆盖自动生成的mule-artifact.json 的解决方法是将maven-resources-plugin 添加到您的pom 并在mule-extensions-maven-plugin 创建文件后运行它。这是我使用的:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-custom-artifact</id>
<phase>process-classes</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/META-INF/mule-artifact</directory>
<targetPath>classes/META-INF/mule-artifact</targetPath>
</resource>
</resources>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
【讨论】: