我在maven pom.xml
文件中添加了几个新插件。
我发现命令exec-maven-plugin
时,我无法弄清楚为什么maven-resources-plugin
和mvn install
没有运行。其他maven插件可以按预期执行。
当我运行mvn exec:exec
时,exec-maven-plugin
确实会运行。
我尝试过使用许多不同的阶段,但没有用。
我在这里做错了什么,我该怎么办?
以下是我的maven文件的相关部分
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>build-spa-bower</id>
<phase>validate</phase>
<configuration>
<executable>bower</executable>
<arguments>install</arguments>
<workingDirectory>src/main/spa</workingDirectory>
</configuration>
</execution>
<execution>
<id>build-spa-grunt</id>
<phase>validate</phase>
<configuration>
<executable>bower</executable>
<arguments>install</arguments>
<workingDirectory>src/main/spa</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>resource-spa</id>
<phase>compile</phase>
<configuration>
<outputDirectory>${project.groupId}/${project.artifactId}/spa</outputDirectory>
<resources>
<directory>src/main/spa/dist</directory>
<filtering>false</filtering>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- ... -->
</plugins>
编辑:
找到了exec插件的答案,但尚未找到资源插件。
exec插件需要一个目标才能触发
为每个<goals><goal>exec</goal></goals>
添加<execution>
为我做了诀窍。
答案 0 :(得分:2)
如果您将配置放在<execution/>
中,则需要指定在此执行中需要运行的目标。
对于默认情况下链接到阶段的插件,您还可以在<executions/>
之外指定配置,并且该配置将在该插件的默认阶段使用。
答案 1 :(得分:0)
找到答案:
exec插件需要一个目标才能触发。
将<goals><goal>exec</goal></goals>
添加到每个<execution>
。
资源插件问题也是类似的。
将<goals><goal>copy-resources</goal></goals>
添加到每个<execution>
。
这些对我有用。
答案 2 :(得分:0)
也
<phase>prepare-package</phase>
是强制性的。