Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

frontend-maven-plugin can't "bower install"

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.

like image 586
Aleksandar Avatar asked Nov 25 '15 09:11

Aleksandar


2 Answers

  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>
    
like image 156
Aleksandar Avatar answered Oct 30 '22 00:10

Aleksandar


use trick :

        <execution>
            <id>npm install</id>
            <goals>
                <goal>npm</goal>
            </goals>
            <configuration>
                <arguments>install bower</arguments>
            </configuration>
        </execution>
like image 43
MuzEye Avatar answered Oct 30 '22 01:10

MuzEye