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


81

我正在尝试构建一个使用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插件,但错误没有变化。


我在Mac中也遇到了同样的问题。我可以通过更改默认的Java从13到8来解决它
Lakshmikant德什潘德

Answers:


42

如果您使用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>

9
如果这是一个子模块并且实际上有一个父模块怎么办?
Dylan Czenski '18

4
@DylanCzenski其他答案请低一点,试试:mvn org.springframework.boot:spring-boot-maven-plugin:run
mblakesley

@DylanCzenski我有同样的情况,无法添加答案中提到的父母。
死侍

168

如果您正在运行

mvn spring-boot:run

从命令行,确保您位于包含pom.xml文件的目录中。否则,您将在当前项目和插件组错误中遇到没有为前缀“ spring-boot”找到的插件


不是我的解决方案。
Maihan Nijat '18

2
这个答案对我有帮助!
Max Peng

1
正确答案。在与Kotlin创建Spring Boot应用程序时使用Google Cloud Shell时遇到了这个问题。这个答案可以帮助我解决上述问题。
Yasir Ali

谢谢@Voicu,这甚至有助于解决夸克问题
Jalaj Chawla

24

如果你不想使用

<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

命令代替。


1
就是我想要的!谢谢!
mblakesley

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>

4
为什么会这样呢?我所在的公司网络不允许访问外部存储库,我们的内部镜像似乎具有正确的JAR,但是会使它们变坏的原因是什么?

10

错别字是此错误的可能原因。

请务必检查您是否写过,spring-boot而不是例如springbootorsprint-bootspringbokor等等。

还要检查订购:使用spring-boot:run而不是run:spring-boot



5

使用mvn spring-boot:run。没有mvn sprint-boot:run 错误的写作。


1
还提供了OP的问题的其他答案,这些答案已在一段时间前发布。发布答案时,请参阅:如何写一个好的答案?,请确保您添加新的解决方案或实质上更好的解释,尤其是在回答较旧的问题时。
help-info.de

1
奇怪的是,这个答案对我有帮助:p
Thamaraiselvam

哈哈,我赞成这个答案,因为我也有错字。
Alba Hoo

我很高兴为您提供帮助:)
JuanSilupúMaza

4

在我的情况下,在构建中添加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>  

这就是我的情况。之前它一直在工作,然后我评论了该部分(想评论其他内容),突然我的应用程序停止工作。
OscarRyz

2

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


我的意思是..错误字面意思是执行此命令时缺少某些内容,因此必须将某些内容添加到POM中。
Hopsinat

对我来说,我什么也没添加,只需要在执行命令之前将其放在终端的项目文件夹中即可。
Ikhiloya Imokhai

0

除了使用Bartosz的答案中所述的完整插件名称(带有groupId),您还可以添加

<pluginGroups>
    <pluginGroup>org.springframework.boot</pluginGroup>
</pluginGroups>

到您的.m2 / settings.xml。


-1

在我的情况下,我的maven变量环境是M2_HOME,因此我已更改为MAVEN_HOME并开始工作。


2
欢迎使用堆栈溢出@ vfranca9。也许一些解释会使您的答案更加清楚。通过“就我而言”,您是说您在响应同一命令时收到相同的错误消息吗?
Degan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.