Maven - nie znaleziono wtyczki dla przedrostka „spring-boot” w bieżącym projekcie i grupach wtyczek

84

Próbuję zbudować projekt Springboot, który zbudowałem za pomocą pakietu Spring Tools Suite. Podczas wykonywania pojawia się następujący błąd$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`

Oto moja wtyczka 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>

Wypróbowałem wtyczkę jhipster powyżej i bez zmian w błędzie.

Derek
źródło
Napotkałem ten sam problem na Macu. Udało mi się to naprawić, zmieniając domyślną
Javę

Odpowiedzi:

44

Jeśli używasz Spring Boot do aplikacji, zapominasz o dodaniu

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

może powodować ten problem, a także brakować tych wierszy

<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
źródło
9
co jeśli jest to moduł potomny i faktycznie ma on rodzica?
Dylan Czenski,
6
@DylanCzenski Per inna odpowiedź niżej, spróbuj:mvn org.springframework.boot:spring-boot-maven-plugin:run
mblakesley
@DylanCzenski Mam taką samą sytuację i nie mogę dodać rodzica wymienionego w odpowiedzi.
CA Arefe
171

Jeśli używasz

mvn spring-boot:run

z wiersza poleceń upewnij się, że jesteś w katalogu zawierającym plik pom.xml . W przeciwnym razie napotkasz nie znaleziono wtyczki dla przedrostka „spring-boot” w bieżącym projekcie i błąd grup wtyczek .

Voicu
źródło
Nie moje rozwiązanie.
Maihan Nijat
2
Ta odpowiedź mi pomaga!
Max Peng
1
Poprawna odpowiedź. Miałem do czynienia z tym problemem podczas korzystania z Google Cloud Shell podczas tworzenia aplikacji Spring Boot z Kotlin. Ta odpowiedź pomaga mi rozwiązać wspomniany problem.
Yasir Ali
Dzięki @Voicu pomogło to nawet kwarkusowi
Jalaj Chawla
25

Jeśli nie chcesz używać

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

jako rodzic POM możesz używać rozszerzenia

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

polecenie zamiast.

Bartosz Popiela
źródło
1
To jest to, czego szukałem! Dzięki!
mblakesley,
13

Literówki są możliwą przyczyną tego błędu.

Koniecznie sprawdź napisałeś spring-boot, a nie na przykład springbootalbo sprint-bootalbo springbokalbo cokolwiek.

Sprawdź również zamówienie: używaj, spring-boot:runa nie run:spring-boot.

VC2019
źródło
12

Możesz dodać następujące elementy do swojego pom i spróbować skompilować

   <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
źródło
4
Dlaczego tak się dzieje? Jestem w sieci korporacyjnej, która nie zezwala na dostęp do zewnętrznych repozytoriów, nasz wewnętrzny serwer lustrzany wydaje się mieć odpowiednie pliki JAR, ale co sprawiłoby, że były złe?
Will Buck
5

Użyj mvn spring-boot:run. Brak mvn sprint-boot:run błędów podczas pisania.

Juan Silupú Maza
źródło
1
Istnieją inne odpowiedzi, które zawierają pytanie PO, i zostały one opublikowane jakiś czas temu. Publikując odpowiedź, zobacz: Jak napisać dobrą odpowiedź? , upewnij się, że dodałeś nowe rozwiązanie lub znacznie lepsze wyjaśnienie, szczególnie w przypadku odpowiedzi na starsze pytania.
help-info.de
1
Dziwne jest to, że ta odpowiedź mi pomogła: p
Thamaraiselvam,
Haha, zagłosowałem za tą odpowiedzią, ponieważ miałem też literówkę.
Alba Hoo
Cieszę się, że pomogłem :)
Juan Silupú Maza
4

Dodanie spring-boot-maven-plugin do kompilacji rozwiązało problem w moim przypadku

<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
źródło
Taka była moja sytuacja. Wcześniej działało, potem skomentowałem tę część (myśląc o skomentowaniu czegoś innego) i nagle moja aplikacja przestała działać.
OscarRyz,
2

Upewnij się, że pom.xml istnieje w katalogu, używając polecenia mvn spring-boot: run. Nie ma potrzeby dodawania niczego w pliku pom.xml.

Pushkar Mehta
źródło
To znaczy ... błąd dosłownie mówi, że przy wykonywaniu tego polecenia czegoś brakuje, stąd trzeba coś do POMA dopisać.
hopsinat
Dla mnie nic nie dodałem, po prostu musiałem znaleźć się w folderze projektu na terminalu przed wykonaniem polecenia.
Ikhiloya Imokhai
0

Zamiast używać pełnej nazwy wtyczki (z groupId), jak opisano w odpowiedzi Bartosza , możesz dodać

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

do pliku .m2 / settings.xml.

Maddin
źródło
-1

W moim przypadku moim zmiennym środowiskiem maven było M2_HOME, więc zmieniłem na MAVEN_HOME i działałem.

vfranca9
źródło
2
Witamy w Stack Overflow, @ vfranca9. Być może jakieś wyjaśnienie wyjaśniłoby twoją odpowiedź. Przez „w moim przypadku” masz na myśli, że otrzymałeś ten sam komunikat o błędzie w odpowiedzi na to samo polecenie?
Degan,