Maven - 找不到前缀' tomcat7'在当前的项目中

时间:2014-01-12 09:27:02

标签: java maven

我用原型" webapp"创建了一个Maven项目。但是当我启动命令" mvn tomcat7:start"时,我发现了以下错误:

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包含了tomcat的依赖。

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

我不明白为什么它不起作用。

你有解决方案吗?

谢谢

5 个答案:

答案 0 :(得分:8)

我知道一年前有人问过,但我的回答可能对我以外的其他人有用。

如果在pom.xml文件中创建构建代码不起作用,请尝试以这种方式编辑.m2目录中的settings.xml文件:

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

我在这里找到了解决方案: http://tomcat.apache.org/maven-plugin-2.2/

答案 1 :(得分:2)

首先,没有开始目标,请参阅文档的goals page

接下来,它是一个插件,你声明它是一个依赖项,这就是你得到这个错误的原因,我建议你阅读插件的usage page

以下是pom.xml

的示意结构
<project>
    <!-- ... -->

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

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

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

答案 2 :(得分:2)

这对我有用:

cc = circle_color()
but_circle_blue_add = Button(panel_with_button, text="Add Blue Circle", width=20, command=cc.circle_blue_add)

答案 3 :(得分:1)

使用-X -e参数运行mvn。这应该为您提供有关错误的更多信息。

我看到你没有声明任何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>

答案 4 :(得分:0)

尝试从依赖项中删除此部分,并将这行代码放在项目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>

这肯定有用。