我使用NPM全球安装了凉亭。 在我的Maven项目中,我有一个bower.json文件,我使用exec-maven-plugin在build上安装bower组件,但它失败了,因为它无法运行程序' bower'在目录"这是有道理的,因为Bower没有在本地安装在项目目录中。
但是我想使用Bower的全球版本,所以我在所有项目中都没有单独的Bower程序,如果我去终端目录并手动运行' bower install&#39,它就可以工作;。
问题:我希望Maven使用我的全球Bower版本来避免我在每个项目中都有Bower的副本,我该怎么做?
这是我的POM文件中运行插件和执行的代码:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>exec-bower-install</id>
<phase>generate-sources</phase>
<configuration>
<executable>bower</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
答案 0 :(得分:2)
不要忘记 workingDirectory 并将你的bower.json放在根文件夹中
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>bower</executable>
<arguments>
<argument>install</argument>
</arguments>
<workingDirectory>${basedir}/src/main/webapp</workingDirectory>
</configuration>
</plugin>
答案 1 :(得分:2)
经过大量测试后,我发现我的IDE出了问题,因为某些原因Netbeans在插件执行期间尝试构建项目时给出了错误,但是当我直接运行Maven项目时从命令行,它构建!
答案 2 :(得分:1)
配置可执行属性以指向bower可执行文件的完整目录,例如:
<executable>c:/bower_directory/bower</executable>