Maven - Не знайдено плагін для префіксу 'spring-boot' у поточному проекті та в групах плагінів


84

Я намагаюся створити проект Springboot, який я створив за допомогою Spring Tools Suite. Під час виконання я отримую таку помилку$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.
Лакшмікант Дешпанде

Відповіді:


44

Якщо ви використовуєте 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
що якщо це дочірній модуль, і він насправді має батька?
Ділан Ченскі,

6
@DylanCzenski За черговою відповіддю нижче, спробуйте:mvn org.springframework.boot:spring-boot-maven-plugin:run
mblakesley

@DylanCzenski У мене така сама ситуація, і я не можу додати батьків, згаданих у відповіді.
CA Arefe

171

Якщо ви використовуєте

mvn spring-boot:run

з командного рядка переконайтесь, що ви знаходитесь у каталозі, що містить файл pom.xml . В іншому випадку ви натрапите на відсутність плагіна для префіксу 'spring-boot' у поточному проекті та в помилці груп плагінів .


Не моє рішення.
Maihan Nijat

2
Ця відповідь мені допомагає!
Макс Пен,

1
Правильна відповідь. Я зіткнувся з цією проблемою під час використання Google Cloud Shell під час створення програми Spring Boot за допомогою Kotlin. Ця відповідь допомагає мені вирішити згадану проблему.
Ясір Алі

Дякую @Voicu, це допомогло навіть кваркусу
Jalaj Chawla

25

Якщо ви не хочете використовувати

<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,

13

Помилки - можлива причина цієї помилки.

Обов’язково перевірте, що ви писали, spring-bootа не напр. springbootАбо sprint-bootчи, springbokабо що завгодно.

Також перевірте замовлення: використовувати spring-boot:runі ні run:spring-boot.


12

Можливо, ви захочете додати до свого пам’ятника та спробувати скомпілювати

   <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-файли, але що могло б зробити їх поганими?
Will Buck


5

Використовуйте mvn spring-boot:run. Немає mvn sprint-boot:run помилок під час написання.


1
Є й інші відповіді, які надають питання ОП, і вони були опубліковані деякий час тому. При розміщенні відповіді дивіться: Як написати хорошу відповідь? , будь ласка, не забудьте додати або нове рішення, або значно кращі пояснення, особливо при відповіді на старіші запитання.
help-info.de

1
Дивна річ, ця відповідь мені допоможе: p
Thamaraiselvam

Ха-ха, я підтримав цю відповідь, тому що в мене теж була помилка.
Альба Ху

Я рада, що допомогла :)
Хуан Сілупу Маза

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

Переконайтесь, що pom.xml існує в каталозі, використовуючи команду mvn spring-boot: run. Не потрібно додавати щось у файл pom.xml.


Я маю на увазі .. помилка буквально говорить про те, що чогось не вистачає при виконанні цієї команди, отже, щось потрібно додати до POM.
hopsinat

Для мене я нічого не додав, мені просто потрібно було знаходитись у папці проекту на терміналі перед виконанням команди.
Іхілоя Імохай

0

Замість використання повного імені плагіна (з groupId), як описано у відповіді Бартоша , ви можете додати

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

до вашого .m2 / settings.xml.


-1

У моєму випадку моїм змінним середовищем maven було M2_HOME, тому я змінився на MAVEN_HOME і працював.


2
Ласкаво просимо до Stack Overflow, @ vfranca9. Можливо, якесь пояснення зробить вашу відповідь більш зрозумілою. Під "в моєму випадку" ви маєте на увазі, що ви отримували одне і те ж повідомлення про помилку у відповідь на ту саму команду?
Degan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.