Vaadin custom client side widget cannot compile 'No plugin found for prefix

I trying to create a custom client side widget with eclipse IDE. when i click compile widgetset option from the toolbar it stops with following error.

[INFO]
 Scanning for projects...
[INFO]
 Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
[INFO]
 Downloading: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml
[INFO]
 Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 KB at 8.8 KB/sec)
[INFO]
 Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml (13 KB at 5.1 KB/sec)
[INFO]
 ------------------------------------------------------------------------
[INFO]
 BUILD FAILURE
[INFO]
 ------------------------------------------------------------------------
[INFO]
 Total time: 5.317 s
[INFO]
 Finished at: 2017-07-04T16:26:02+05:30
[INFO]
 Final Memory: 14M/143M
[INFO]
 ------------------------------------------------------------------------
[ERROR]
 No plugin found for prefix 'vaadin' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo]
 available from the repositories [local (C:\Users\Dhanuddhara\.m2\repository), central (https://repo.maven.apache.org/maven2)]
 -> [Help 1]

[ERROR]
 
[ERROR]
 To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR]
 Re-run Maven using the -X switch to enable full debug logging.
[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/NoPluginFoundForPrefixException

33722.xml (6.45 KB)

Hi,
in your pom you are missing the maven vaadin plugin configuration.

Here’s a simple configuration

     <plugin>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-maven-plugin</artifactId>
                <version>${vaadin.plugin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>update-theme</goal>
                            <goal>update-widgetset</goal>
                            <goal>compile</goal>
                            <!-- Comment out compile-theme goal to use on-the-fly theme compilation -->
                            <goal>compile-theme</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

HTH
Marco

Yes you ara correct, Thanks a lot.

I am having this same issue. I have used the Maven archetype vaadin-archetype-jpacontainer to created my Maven project. The pom.xml does not have a $vaadin.plugin.version property and does not have the plugin as described above. I have copied the plugin from above and added the $vaadin.plugin.version property to “8.2.1”. Now, when I build the application, I receive the following error: Failed to execute goal com.vaadin:vaadin-maven-plugin:8.2.1:update-theme (default-cli) on project sample: The goal update-theme requires Vaadin 7.1 or later → [Help 1]

In the pom.xml, an error exists on the in the added . The error is:

ailed to update widgetset (com.vaadin:vaadin-maven-plugin:8.2.1:update-widgetset:default:generate-resources)

org.apache.maven.plugin.MojoExecutionException: Failed to update widgetset
at com.vaadin.integration.maven.UpdateWidgetsetMojo.updateWidgetset(UpdateWidgetsetMojo.java:282)
at com.vaadin.integration.maven.UpdateWidgetsetMojo.updateLocalWidgetset(UpdateWidgetsetMojo.java:109)
at com.vaadin.integration.maven.UpdateWidgetsetMojo.doExecute(UpdateWidgetsetMojo.java:92)
at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtShellMojo.java:182)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:331)
at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1362)
at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1360)
at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:52)
at com.vaadin.integration.eclipse.maven.VaadinMojoExecutionBuildParticipant.build(VaadinMojoExecutionBuildParticipant.java:87)
at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:137)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:172)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1$1.call(MavenBuilder.java:115)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1.call(MavenBuilder.java:105)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:86)
at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:200)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: org.codehaus.mojo.gwt.shell.JavaCommandException: Command [[
/bin/sh -c ‘/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/bin/java’ ‘com.vaadin.server.widgetsetutils.WidgetSetBuilder’ ‘com.dennylegal.demo.sample.gwt.AppWidgetSet’
]] failed with status 1
at org.codehaus.mojo.gwt.shell.JavaCommand.execute(JavaCommand.java:330)
at com.vaadin.integration.maven.UpdateWidgetsetMojo.updateWidgetset(UpdateWidgetsetMojo.java:280)
… 36 more

Any ideas on what I have incorrect?

Hi, what vaadin version are you using? Can you share the whole pom file?

I am running the latest available with the Eclipse plugin, 8.0. I am using Apache-Maven 3.5.2. My pom.xml is below:

<?xml version="1.0" encoding="UTF-8"?>


4.0.0
com.example
crud
war
0.0.1-SNAPSHOT
Vaadin JPAContainer Web Application

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <vaadin.version>6.7.4</vaadin.version>
    <jpacontainer.version>2.0.0</jpacontainer.version>
    <gwt.version>2.3.0</gwt.version>
    <gwt.plugin.version>2.3.0-1</gwt.plugin.version>
    <vaadin.plugin.version>8.2.1</vaadin.plugin.version>
</properties>
<repositories>
    <repository>
        <id>vaadin-addons</id>
        <url>http://maven.vaadin.com/vaadin-addons</url>
    </repository>
    <repository>
        <id>vaadin-snapshots</id>
        <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>EclipseLink Repo</id>
        <url>http://www.eclipse.org/downloads/download.php?r=1&amp;nf=1&amp;file=/rt/eclipselink/maven.repo</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.vaadin.addon</groupId>
        <artifactId>jpacontainer-addon-agpl-3.0</artifactId>
        <version>${jpacontainer.version}</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>org.vaadin.addons</groupId>
        <artifactId>customfield</artifactId>
        <version>0.9.3</version>
    </dependency>
    <dependency>
        <groupId>com.vaadin.addon</groupId>
        <artifactId>beanvalidation-addon</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin</artifactId>
        <version>${vaadin.version}</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>javax.persistence</artifactId>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.3.160</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.2.0.Final</version>
    </dependency>
    <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-user</artifactId>
        <version>${gwt.version}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
        </plugin>
<!-- Added KD - START  -->        
        <plugin>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-maven-plugin</artifactId>
            <version>${vaadin.plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>update-theme</goal>
                        <goal>update-widgetset</goal>
                        <goal>compile</goal>
                        <!-- Comment out compile-theme goal to use on-the-fly theme compilation -->
                        <goal>compile-theme</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        
        <!-- Added KD - END  -->
    </plugins>
</build>

Hi,
you are trying to use vaadin 6.x with the plugin at version 8.x and this will not work.
You should update you
vaadin.version
property with a newest version, eg 8.1.2 (the same as the plugin version)

HTH
Marco

Marco,

Thank you for your assistance.  But, I've tried that.  Even when changing my vaadin.version property to 8.1.2 and adding the vaadin.plugin.version property to the pom.xml with the value of 8.1.2 before adding the plugin entry, it fails.  In my Eclipse install, the Vaadin Plugin for Eclipse version is 4.0.1. 

Any help or insight is appreciated.

Thanks,
KD

Hi,
I took a better look at your pom and find several problems related to mixed vaadin versions and addons compatibility.

Before going deeper may I ask you what is your current goal?
Have you an existing vaadin 6.x application or are you starting with a new project?
Have you some constratint on vaadin version?

Hi,
the video is a bit old and I think also vaadin-archetype-jpacontainer is outdated.
Starting with vaadin 8 there’s a new data binding api and containers were moved to a compatibility package.
I suggest you to start with the vaadin tutorial (https://vaadin.com/docs/v8/framework/tutorial.html) and then to explore some example that uses JPA for persistence:
https://github.com/mstahv/jpa-invoicer
https://github.com/mstahv/jpa-addressbook
https://spring.io/guides/gs/crud-with-vaadin/

There is also this blog post about using jpacontainer within vaadin 8
http://mavi.logdown.com/posts/1493424-using-jpacontainer-with-vaadin-8s-v7-compatibility-grid

HTH
Marco

Marco,

   Thank you for help.  My current goal is to understand the full framework for Vaadin with JPA.  I was following the tutorial provided here: https://www.youtube.com/watch?v=6hz630Oz2Q0 and when I use the archetype identified in the tutorial, the initial pom.xml that I provided earlier is the result and hence the resulting errors.  I do not have an existing vaadin 6.x application; I am starting with a new project.  I do not have any constraint on a particualr vaadin version.  However, the statement of "vaadin version" is in itself somewhat challenging.  I have Vaadin Designer 8.x installed.  Vaadin Plugin for Eclipse is listed as 4.0.1 and says it is up to date.  I am using Maven 3.5.2.  I have rebuilt the Maven Repository and still encounter errors.  Is the vaadin-archetype-jpacontainer 2.0.0 still a valid archtetype?  When I create a simple application (non jpa), the pom.xml is fine and I can test the app.  But anything to do with JPA (even the crud demo that is part of the Vaadin 8.0 project definition results in the same issues.  Thank you for your assistance.

KD