2014-03-06 45 views
2

我試圖通過與mvn tomcat:deploy maven部署應用程序,它總是給我一個錯誤。我試圖設置它:Maven部署到Tomcat7(響應403)不正確地使用給定的插件

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <configuration> 
     <url>http://localhost:8080/manager/text</url> 
     <username>tomcat</username> 
     <password>tomcat</password> 
     <update>true</update> 
     <path>/SpringBatis</path> 
    </configuration> 
</plugin> 

但是,我發現它不使用此設置!即使我刪除這個插件文本我得到了相同的輸出,它是:

[DEBUG] Configuring mojo org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy from plugin realm ClassRealm[plugin>org.codehaus.mojo:tomcat-maven-plugin:1.1, parent: [email protected]] 
[DEBUG] Configuring mojo 'org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy' with basic configurator --> 
[DEBUG] (f) charset = ISO-8859-1 
[DEBUG] (f) contextFile = e:\prace\workspace\SpringBatis\target\mitta-webapp\META-INF\context.xml 
[DEBUG] (f) ignorePackaging = false 
[DEBUG] (f) mode = war 
[DEBUG] (f) packaging = war 
[DEBUG] (f) path = /SpringBatis 
[DEBUG] (f) update = false 
[DEBUG] (f) url = http://localhost:8080/manager 
[DEBUG] (f) version = 1.1 
[DEBUG] (f) warFile = e:\prace\workspace\SpringBatis\target\mitta-webapp.war 
[DEBUG] -- end configuration -- 
[INFO] Deploying war to http://localhost:8080/SpringBatis 
[DEBUG] No server specified for authentication - using defaults 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.247 s 
[INFO] Finished at: 2014-03-07T00:11:16+01:00 
[INFO] Final Memory: 12M/154M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project SpringBatis: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2FSpringBatis&war= -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project SpringBatis: Cannot invoke Tomcat manager 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot invoke Tomcat manager 
    at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:149) 
    at org.codehaus.mojo.tomcat.AbstractWarCatalinaMojo.execute(AbstractWarCatalinaMojo.java:70) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 19 more 
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2FSpringBatis&war= 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626) 
    at org.codehaus.mojo.tomcat.TomcatManager.invoke(TomcatManager.java:604) 
    at org.codehaus.mojo.tomcat.TomcatManager.deployImpl(TomcatManager.java:662) 
    at org.codehaus.mojo.tomcat.TomcatManager.deploy(TomcatManager.java:295) 
    at org.codehaus.mojo.tomcat.AbstractDeployWarMojo.deployWar(AbstractDeployWarMojo.java:85) 
    at org.codehaus.mojo.tomcat.AbstractDeployMojo.invokeManager(AbstractDeployMojo.java:85) 
    at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:141) 
    ... 22 more 
[ERROR] 
[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/MojoExecutionException 

正如你所看到的,URL未設置爲http://localhost:8080/manager/text而只是http://localhost:8080/manager


的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.mkyong</groupId> 
    <artifactId>SpringBatis</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>SpringMvcExample Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <jdk.version>1.6</jdk.version> 
     <spring.version>3.2.2.RELEASE</spring.version> 
     <jstl.version>1.2</jstl.version> 
     <maxmind.geoip.version>1.2.10</maxmind.geoip.version> 
     <jackson.version>1.9.10</jackson.version> 
    </properties> 

    <dependencies> 

     <!-- mybatis --> 
<dependency> 
    <groupId>org.mybatis</groupId> 
    <artifactId>mybatis</artifactId> 
    <version>3.0.5</version> 
</dependency> 

     <!-- jstl --> 
     <dependency> 
      <groupId>jstl</groupId> 
      <artifactId>jstl</artifactId> 
      <version>${jstl.version}</version> 
     </dependency> 

     <!-- Spring Core --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <!-- need this for @Configuration --> 
     <dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib</artifactId> 
      <version>2.2.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <!-- Jackson --> 
     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-mapper-asl</artifactId> 
      <version>${jackson.version}</version> 
     </dependency> 

     <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 

     <!-- Servlet --> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 

    </dependencies> 
    <build> 
     <finalName>mitta-webapp</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-eclipse-plugin</artifactId> 
       <version>2.9</version> 
       <configuration> 
        <downloadSources>true</downloadSources> 
        <downloadJavadocs>false</downloadJavadocs> 
        <wtpversion>2.0</wtpversion> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>${jdk.version}</source> 
        <target>${jdk.version}</target> 
       </configuration> 
      </plugin> 

     <plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <configuration> 
     <url>http://localhost:8080/manager/text</url> 
     <username>tomcat</username> 
     <password>tomcat</password> 
     <update>true</update> 
     <path>/SpringBatis</path> 
    </configuration> 
</plugin> 

     </plugins> 
    </build> 

</project> 

Tomcat的users.xml中

<tomcat-users> 
    <role rolename="tomcat"/> 
    <role rolename="manager-gui"/> 
    <role rolename="manager-script"/> 
    <role rolename="admin-gui"/> 
    <user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui,manager-script"/> 
</tomcat-users> 

如果我和行家編譯它,然後隻手動將其加載到tomcat7它運行良好。

回答

4

發現了!

這是案例:mvn tomcat7:deploy代替mvn tomcat:deploy

+0

非常感謝您! – GreyGoblin

相關問題