Maven-在当前项目和插件组中找不到前缀'spring-boot'的插件

时间:2015-06-15 22:14:19

标签: java spring maven spring-mvc

我正在尝试构建一个使用Spring Tools Suite构建的springboot项目。执行$mvn spring-boot:run

时出现以下错误
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml (13 KB at 14.0 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 KB at 21.8 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.032 s
[INFO] Finished at: 2015-06-15T17:46:50-04:00
[INFO] Final Memory: 11M/123M
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'spring-boot' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/admin/.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`

继承我的pom.xml插件

    <build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <arguments>
                    <argument>--spring.profiles.active=dev</argument>
                </arguments>
            </configuration>
        </plugin>
    </plugins>
</build>

我尝试了上面的jhipster插件,没有更改错误。

11 个答案:

答案 0 :(得分:101)

如果您正在运行

mvn spring-boot:run
从命令行

确保您位于包含 pom.xml 文件的目录中。否则,您将遇到找到前缀&#39; spring-boot&#39;的 No插件。在当前项目和插件组中错误。

答案 1 :(得分:28)

如果您使用Spring Boot进行应用程序,则忘记添加

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.7.RELEASE</version>
 </parent>

可能导致此问题,并且缺少这些行

<repositories>
    <repository>
        <id>spring-releases</id>
        <url>https://repo.spring.io/libs-release</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-releases</id>
        <url>https://repo.spring.io/libs-release</url>
    </pluginRepository>
</pluginRepositories>

答案 2 :(得分:12)

您可能希望将以下内容添加到您的pom并尝试编译

   <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

答案 3 :(得分:5)

您应该从$ mvn spring-boot:run文件所在的文件夹中运行pom.xml,并参考此回答https://stackoverflow.com/a/33602837/4918021

答案 4 :(得分:3)

如果您不想使用

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>(...)</version>
</parent>

作为父POM,您可以使用

mvn org.springframework.boot:spring-boot-maven-plugin:run

命令代替。

答案 5 :(得分:2)

在构建中添加spring-boot-maven-plugin解决了我的问题

<build>
    <finalName>mysample-web</finalName>
    <plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>springloaded</artifactId>
                <version>1.2.1.RELEASE</version>
            </dependency>
        </dependencies>
    </plugin>
    </plugins>
</build>  

答案 6 :(得分:2)

在我的情况下,我遇到相同的错误,原因是我使用的命令中有错字。使用的是mvn springboot:run而不是spring-boot。使用正确的命令为我解决了此问题。

答案 7 :(得分:1)

使用mvn spring-boot:run命令时,请确保目录中存在pom.xml。 无需在pom.xml文件中添加任何内容。

答案 8 :(得分:0)

您可以添加

,而不是像Bartosz's answer中所述使用完整的插件名称(带有groupId),
<pluginGroups>
    <pluginGroup>org.springframework.boot</pluginGroup>
</pluginGroups>

到您的.m2 / settings.xml。

答案 9 :(得分:-1)

就我而言,我的maven变量环境是M2_HOME, 所以我已经改为MAVEN_HOME并且工作了。

TNX。

答案 10 :(得分:-1)

使用mvn spring-boot:run。 否mvn sprint-boot:run 编写错误。