frontend-maven-plugin can't "bower install"
Asked Answered
D

3

8

I have project with "web" module. In module I have "pom.xml" with frontend-maven-plugin:

<build>
        <plugins>
            <plugin>
                <groupId>com.github.eirslett</groupId>
                <artifactId>frontend-maven-plugin</artifactId>
                <version>0.0.26</version>
                <executions>
                    <execution>
                        <id>bower install</id>
                        <goals>
                            <goal>bower</goal>
                        </goals>
                        <phase>generate-sources</phase>
                        <configuration>
                            <arguments>install</arguments>
                            <installDirectory></installDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

Also in web module are .bowerrc file:

{
    "directory":"src/main/resources/static/bower_components"
}

And bower.json file:

{
  "name": "web",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ],
  "dependencies": {
    "jquery": "~2.1.4",
    "bootstrap": "~3.3.5"
  }
}

Also package.json file:

{
    "name": "web",
    "devDependencies": {
        "bower": "~1.6.5"
    },
    "engines": {
        "node": ">=0.10.40"
    }
}

When I try to "mvn clean install" the error appears:

    [INFO] Running 'bower install' in /home/aleksandar/projects/cs230/web
    [ERROR] module.js:338
    [ERROR]     throw err;
    [ERROR]           ^
    [ERROR] Error: Cannot find module '/home/aleksandar/projects/cs230/web/node_modules/bower/bin/bower'
    [ERROR]     at Function.Module._resolveFilename (module.js:336:15)
    [ERROR]     at Function.Module._load (module.js:278:25)
    [ERROR]     at Function.Module.runMain (module.js:501:10)
    [ERROR]     at startup (node.js:129:16)
    [ERROR]     at node.js:814:3
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] parent ............................................. SUCCESS [  0.349 s]
    [INFO] database ........................................... SUCCESS [  0.787 s]
    [INFO] test ............................................... SUCCESS [  0.812 s]
    [INFO] domain ............................................. SUCCESS [  2.103 s]
    [INFO] core-api ........................................... SUCCESS [  0.185 s]
    [INFO] jpa-repository ..................................... SUCCESS [  0.174 s]
    [INFO] core-impl .......................................... SUCCESS [  0.495 s]
    [INFO] web ................................................ FAILURE [  0.392 s]
    [INFO] file-repository .................................... SKIPPED
    [INFO] email .............................................. SKIPPED
    [INFO] app ................................................ SKIPPED
    [INFO] payment ............................................ SKIPPED
    [INFO] jobs ............................................... SKIPPED
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 5.984 s
    [INFO] Finished at: 2015-11-25T10:16:51+01:00
    [INFO] Final Memory: 39M/349M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.26:bower (bower install) on project web: Failed to run task: 'bower install' failed. (error code 1) -> [Help 1]
    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.26:bower (bower install) on project web: Failed to run task    org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    Caused by: org.apache.maven.plugin.MojoFailureException: Failed to run task

com.github.eirslett.maven.plugins.frontend.mojo.AbstractFrontendMojo.execute(AbstractFrontendMojo.java:67)
        ... 22 more
    [ERROR] 
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    [ERROR] 
    [ERROR] After correcting the problems, you can resume the build with the command
    [ERROR]   mvn <goals> -rf :web

Please help with this problem I lost a lot of time trying to solve the problem.

Deviate answered 25/11, 2015 at 9:34 Comment(1)
Maybe install nodejs beforeProcession
D
3
  1. Set your M3_HOME path to use "mvn clean install" without sudo
  2. Set 777 priveledges for "target" folders in project and other locked folders in web module
  3. In pom.xml file in web module add this:

                <execution>
                    <id>install node and npm</id>
                    <goals>
                        <goal>install-node-and-npm</goal>
                    </goals>
                    <configuration>
                        <nodeVersion>v0.12.2</nodeVersion>
                        <npmVersion>2.7.6</npmVersion>
                    </configuration>
                </execution>
    
                <execution>
                    <id>npm install</id>
                    <goals>
                        <goal>npm</goal>
                    </goals>
                    <!-- Optional configuration which provides for running any npm command -->
                    <configuration>
                        <arguments>install</arguments>
                    </configuration>
                </execution>
    
                <execution>
                    <id>bower install</id>
                    <goals>
                        <goal>bower</goal>
                    </goals>
                    <configuration>
                        <arguments>install</arguments>
                    </configuration>
                </execution>
    
Deviate answered 25/11, 2015 at 10:49 Comment(1)
having same kind of error, i dont want to install node every time its already present globally, how to exclude node from the pluginsBrahmaputra
M
1

use trick :

        <execution>
            <id>npm install</id>
            <goals>
                <goal>npm</goal>
            </goals>
            <configuration>
                <arguments>install bower</arguments>
            </configuration>
        </execution>
Martie answered 28/4, 2017 at 3:26 Comment(0)
F
0

Seems like Bower is not in your system. Install Bower globally on your computer with npm:

npm install -g bower
Frostbitten answered 12/5, 2022 at 6:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.