2014-01-12 7 views
6

Я создал проект Maven с архетипом «webapp», но когда я запускаю команду «mvn tomcat7: start», у меня есть следующая ошибка:Maven - плагин не найден для префикса 'tomcat7' в текущем проекте

No plugin found for prefix 'tomcat7' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (C:\dark\.m2\repository), central (http://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. 

Моя структура проекта:

-src 
    -main 
     -resources 
     -webapp 
      -WEB-INF 
      -web.xml 
      -index.jsp 
-target 
    -classes 
    -dependency 
     - // the 'dependency' directory contains all the jar files 
    -lbagno 
    -maven-archiver 
    -surefire 
    lbagno.war 

Мой pom.xml содержит также зависимость для кота.

pom.xml

<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 http://maven.apache.org/maven-v4_0_0.xsd"> 

<modelVersion>4.0.0</modelVersion> 
<groupId>com.myspace</groupId> 
<artifactId>lbagno</artifactId> 
<packaging>war</packaging> 
<version>0.0.1-SNAPSHOT</version> 
<name>lbagno Maven Webapp</name> 
<url>http://maven.apache.org</url> 


<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>3.1.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.tomcat.maven</groupId> 
     <artifactId>tomcat7-maven-plugin</artifactId> 
     <version>2.2</version> 
     <type>maven-plugin</type> 
    </dependency> 
</dependencies> 

<build> 
    <finalName>lbagno</finalName> 
</build> 

</project> 

Я не понимаю, почему он не работает.

У вас есть решения?

Спасибо

ответ

2

Во-первых, нет никакого начала цель, увидеть goals page в док.

Далее, это плагин, вы объявили его как зависимость, поэтому вы получаете эту ошибку, я предлагаю вам прочитать usage page плагина.

Здесь представлено схематическое строение pom.xml:

<project> 
    <!-- ... --> 

    <dependencies> 
     <!-- your deps here --> 
    </dependencies> 

    <build> 
     <plugins> 
      <!-- your default build plugins here --> 
     </plugins> 
    <build> 

    <!-- ... --> 
</project> 
0

Выполнить MVN с -X -e Params. Это должно дать вам больше информации об ошибке.

Я видел, что у вас нет pluginRepositories. Добавьте следующие строки в pom.xml:

<pluginRepositories> 
    <pluginRepository> 
     <id>apache.snapshots</id> 
     <name>Apache Snapshots</name> 
     <url>http://repository.apache.org/content/groups/snapshots-group/</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </pluginRepository> 
</pluginRepositories> 
6

Я знаю, что это был задан вопрос год назад, но мой ответ мог бы работать на кого-то другого, чем у меня.

Если создание сборки тега в файле pom.xml не работает, проверьте редактирование файла settings.xml в вашем .m2 каталоге так:

<pluginGroups> 
    ... 
    <pluginGroup>org.apache.tomcat.maven</pluginGroup> 
    ... 
</pluginGroups> 

Я нашел решение здесь: http://tomcat.apache.org/maven-plugin-2.2/

+0

Я развертывал свой проект Maven в Tomcat с объявлением 'pom.xml' (например, @RC) в течение нескольких месяцев без проблем, но внезапно, без видимых изменений, он сломался. Ваше решение снова развернулось. – Merchako

+0

Почему это специальный случай, чтобы добавить его в settings.xml? –

+0

уже присутствует, не решает проблему для меня – Justin

2

Это работало для меня:

mvn clean install tomcat7:run 
0

Попробуйте удалить эту часть из своей зависимости и поместите эту строку c ode в плагинах на ваших проектах pom.xml. Из зависимости удалить эту строку кодов:

<dependency> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version> 
    <type>maven-plugin</type> 
</dependency> 

и поместить его в ....

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version> 
</plugin> 

Это, безусловно, работать.

Смежные вопросы

 Смежные вопросы