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.


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>

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 .


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.


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.


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>

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.


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>  

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.


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.


-1

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


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.