我在一个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>
EDIT.找到了exec插件的答案,但还没有找到资源插件的答案。
找到了执行插件的答案,但还没有找到资源插件的答案。
exec插件需要一个目标才能触发。
添加 <goals><goal>exec</goal></goals>
给每个 <execution>
对我来说是个好办法。
如果你把你的配置放在一个 <execution/>
你需要指定哪些目标需要在这个执行中运行。
对于默认链接到一个阶段的插件,你也可以在下面的 <executions/>
并且该配置将在该插件的默认阶段使用。
找到答案了。
exec插件需要一个目标才能触发。
添加 <goals><goal>exec</goal></goals>
给每个 <execution>
.
资源插件问题也得到了类似的修复。
增加 <goals><goal>copy-resources</goal></goals>
给每个 <execution>
.
这些对我很有用
还有
<phase>prepare-package</phase>
是强制性的。