Tengo un error en mi archivo pom.xml que se muestra a continuación:
Plugin 'org.springframework.boot:spring-boot-maven-plugin:' not foundA continuación se muestra mi pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>dev.che</groupId> <artifactId>stu</artifactId> <version>0.0.1-SNAPSHOT</version> <name>stu</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>¿Cómo puedo solucionar este error?
Encontré este problema en enero de 2022 cuando la versión cambió a 2.6.3. También bajé la versión del proyecto a 2.6.2 pero no tuve éxito. Sin embargo, agregar la siguiente línea <version>${project.parent.version}</version> plugins resuelve el problema independientemente de la versión. El fragmento se da a continuación
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${project.parent.version}</version> </plugin>Tuve este problema hoy, 22 de enero de 2022, usando Spring Boot 2.6.3 de Intelij IDE y pude resolverlo cambiando de 2.6.3 a 2.6.2. Al momento de escribir esto, estaba recibiendo este error
No se puede resolver el complemento org.apache.maven.plugins:maven-jar-plugin:3.2.2
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.2</version> <!-- change 2.6.3 to 2.6.2--> <relativePath/> </parent>Moví mi paquete con controladores al mismo paquete donde está IntroApplication, para novatos como yo resolvió el problema.
funciona definitivamente: agregue esta <version>${project.parent.version}</version> en Pom.xml de esta manera:
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${project.parent.version}</version> u otra solución es: agregar <version>2.4.3</version> en pom.xml
Esta solución funcionó para mí:
Desde las Preferencias en Intelli J, vaya a "Construir, Ejecución, Implementación > Herramientas de compilación > Maven", verifique "Usar registro de complementos" y haga clic en "Aceptar".
Luego, "Archivo > Invalidar cachés/Reiniciar" para volver a cargar Intelli J. El error desaparecerá automáticamente.
Acabo de seguir estos pasos en IntelliJ IDEA:
Haga clic en Archivo desde el menú y luego haga clic en Invalidar cachés/Reiniciar .
solución rápida
Probé todas las soluciones anteriores y me di cuenta de que las dependencias no se descargaban. Fue entonces cuando supe que era un problema de red. Mi red era sólida, así que sabía que también tenía que ser el cortafuegos. Agregué intellij IDE a mi lista de excepciones y funcionó de maravilla.
Añadir en "Repositorios Jar Remotos"
https://mvnrepository.com/artifact/ Y agregue pom.xml
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </dependency> luego agregue *.java
import org.springframework.transaction.annotation.Transactional;Otra posibilidad es si tiene spring-boot-maven-plugin en un submódulo cuyo padre tiene spring-boot-starter-parent como padre.
Entonces, el módulo con spring-boot-maven-plugin es un 'nieto' de spring-boot-starter-parent .
Si ese es el caso, dado que no puede hacer referencia a AFAIK el abuelo, debe agregar manualmente su version .
Estoy abierto a recomendaciones, por lo que no necesito configurar manualmente la version en dicha configuración.
Solucioné el problema agregando la versión del complemento en pom.xml, que es la misma que la versión de Spring Boot.
Así que solo tienes que configurar tu pom así:
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${project.parent.version}</version>El pom.xml es correcto. Parece que hay un problema de red. El complemento no se descargó debido a eso.
Pasos para resolver el problema:
Compruebe si hay un problema de red. Debe tener una conexión a Internet sólida para descargar todas las dependencias y complementos usando maven. De lo contrario, seguramente tendrá problemas para construir un proyecto maven.
Para eclipse/STS :
Haga clic derecho en el proyecto >> Ejecutar como >> Maven clean (esto limpiará el proyecto eliminando la carpeta de destino ).
Ejemplo :
Ejemplo :
Nota: habilite la opción Forzar actualización de instantáneas/versiones (consulte la captura de pantalla anterior). Por defecto, esta opción no está habilitada. Haga clic en Aceptar. Comenzará a actualizarse.
Nota: Vaya a Preferencia -> Compilación, ejecución e implementación -> Herramientas de compilación -> Maven -> Habilite la opción "Actualizar siempre instantáneas" presente -> Haga clic en Aplicar y Aceptar . Esta opción ayuda a veces.
Descarga maven desde aquí y extráelo.
Establezca la ubicación de maven en la variable de entorno para que pueda ejecutarse desde cualquier lugar.
Abra CMD/Terminal y luego haga mvn clean install dentro del proyecto.
Actualización para los espectadores: la etiqueta <version> no es una etiqueta obligatoria para los proyectos spring-boot porque pom.xml creado por spring para spring-boot puede manejar la versión de spring-boot-maven-plugin .
pom.xml actualizado:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>dev.che</groupId> <artifactId>stu</artifactId> <version>0.0.1-SNAPSHOT</version> <name>stu</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>Editar:
Si los pasos anteriores no resuelven su problema, entonces puede optar por la solución alternativa al proporcionar explícitamente la versión principal de Spring Boot en el plugin spring-boot-maven-plugin (no es una solución recomendada):
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${parent.version}</version> </plugin> </plugins>Si la solución sugerida por Anish B no funciona y está utilizando intellij, intente eliminar el archivo .idea y *.iml del directorio del proyecto y abra el archivo pom.xml con intellij. Esto debería solucionar el problema.
solucioné el problema agregando una versión del complemento en el pom.xml
<version>${project.parent.version}</version>Hacer clic con el botón derecho en mi pom.xml -> Maven -> Reload Project me funcionó.