Maven: no se encontró ningún complemento para el prefijo 'spring-boot' en el proyecto actual y en los grupos de complementos

81

Estoy tratando de construir un proyecto springboot que construí con Spring Tools Suite. Me sale el siguiente error cuando ejecuto$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`

Aquí está mi complemento 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>

Probé el complemento jhipster anterior y no hubo cambios en el error.

Derek
fuente
Enfrenté el mismo problema en Mac. Pude solucionarlo cambiando el java predeterminado de 13 a 8.
Lakshmikant Deshpande

Respuestas:

42

Si está utilizando Spring Boot para la aplicación, olvidándose de agregar

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

puede causar este problema, además de perder estas líneas

<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>
Abhijeet
fuente
9
¿Qué pasa si este es un módulo hijo y en realidad tiene un padre?
Dylan Czenski
4
@DylanCzenski Por otra respuesta más abajo, intente:mvn org.springframework.boot:spring-boot-maven-plugin:run
mblakesley
@DylanCzenski Tengo la misma situación y no puedo agregar al padre mencionado en la respuesta.
Deadpool
168

Si está ejecutando el

mvn spring-boot:run

desde la línea de comandos, asegúrese de estar en el directorio que contiene el archivo pom.xml . De lo contrario, se encontrará con el complemento No encontrado para el prefijo 'spring-boot' en el proyecto actual y en el error de grupos de complementos .

Voicu
fuente
No es mi solucion.
Maihan Nijat
2
¡Esta respuesta me ayuda!
Max Peng
1
Respuesta correcta. Me enfrentaba a este problema mientras usaba Google Cloud Shell mientras creaba la aplicación Spring Boot con Kotlin. Esta respuesta me ayuda a resolver el problema mencionado.
Yasir Ali
Gracias @Voicu, esto ayudó incluso para quarkus
Jalaj Chawla
24

Si no quieres usar

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

como POM padre, puede utilizar el

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

comando en su lugar.

Bartosz Popiela
fuente
1
¡Esto es lo que estaba buscando! ¡Gracias!
mblakesley
12

Es posible que desee agregar lo siguiente a su pom e intentar compilar

   <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>
Johnson Abraham
fuente
4
¿Por qué estaría pasando esto? Estoy en una red corporativa que no permite acceder a repositorios externos, nuestro espejo interno parece tener los JAR correctos, pero ¿qué los hubiera hecho malos?
Will Buck
11

Los errores tipográficos son una posible razón de este error.

Asegúrese de verificar que usted escribió spring-boot, y no por ejemplo, springbooto sprint-boot, o springbok, o lo que sea.

También verifique el pedido: usar spring-boot:runy no run:spring-boot.

VC2019
fuente
5

Utilice mvn spring-boot:run. Sin mvn sprint-boot:run error de escritura.

Juan Silupú Maza
fuente
1
Hay otras respuestas que proporcionan la pregunta del OP y se publicaron hace algún tiempo. Cuando publique una respuesta, consulte: ¿Cómo escribo una buena respuesta? , asegúrese de agregar una nueva solución o una explicación sustancialmente mejor, especialmente cuando responda preguntas anteriores.
help-info.de
1
Lo extraño es que esta respuesta me ayuda: p
Thamaraiselvam
Jaja, he votado a favor de esta respuesta porque también tuve un error tipográfico.
Alba Hoo
Me alegro de haber ayudado :)
Juan Silupú Maza
4

Agregar spring-boot-maven-plugin en la compilación lo resolvió en mi caso

<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>  
Venkat
fuente
Esta era mi situación. Estaba funcionando antes, luego comenté esa parte (pensando en comentar algo más) y de repente mi aplicación dejó de funcionar.
OscarRyz
2

Asegúrese de que pom.xml exista en el directorio, cuando use el comando mvn spring-boot: run. No es necesario agregar nada en el archivo pom.xml.

Pushkar Mehta
fuente
Quiero decir ... el error dice literalmente que falta algo al ejecutar este comando, por lo tanto, se debe agregar algo al POM.
hopsinat
Para mí, no agregué nada, solo necesitaba estar en la carpeta del proyecto en la terminal antes de ejecutar el comando.
Ikhiloya Imokhai
0

En lugar de usar el nombre completo del complemento (con groupId) como se describe en la respuesta de Bartosz , puede agregar

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

a su .m2 / settings.xml.

Maddin
fuente
-1

En mi caso, mi entorno de variable maven era M2_HOME, así que cambié a MAVEN_HOME y funcioné.

vfranca9
fuente
2
Bienvenido a Stack Overflow, @ vfranca9. Quizás alguna explicación aclare su respuesta. Con "en mi caso", ¿quiere decir que estaba recibiendo el mismo mensaje de error en respuesta al mismo comando?
Degan