使用Maven安装全局安装Bower的Bower组件

时间:2015-01-07 14:50:52

标签: java maven bower exec-maven-plugin

我使用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>

3 个答案:

答案 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>