1
votes

I try to deploy new maven project on tomcat 7. And I get

[INFO] Building war: C:\Workspace2\sw\webapp\target\mkyongweb-core-1.0.war
[INFO] [tomcat:deploy {execution: default-cli}]
[INFO] Deploying war to http://localhost:8080/mkyongweb-core
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot invoke Tomcat manager

Embedded error: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/deploy?path=%2Fmkyongweb-core&war=

tomcat-users.xml

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

%MAVEN-HOME%/conf/settings.xml

 <server>
    <id>tomcat7</id>
    <username>admin</username>
    <password>password</password>
 </server>

and my pom.xml(tomcat6)

   <build>
        <plugins>
            <!-- Maven Tomcat Plugin -->
            <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>tomcat-maven-plugin</artifactId>
            <version>1.0</version>
            <configuration>
            <server>tomcat7</server>
            <url>h ttp://loca lhost:8080/manager</url>                  
            <path>/mkyongWebApp</path>
            </configuration>
        </plugin>           
            <!-- Maven compiler plugin -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

        </plugins>
    </build>

This pom.xml make error 401

[INFO] Cannot invoke Tomcat manager Embedded error: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/deploy?path=%2Fmkyongweb-core&war=

And the plugin below make this same error

  <plugins>
        <!-- Maven Tomcat Plugin -->
        <plugin>            
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat6-maven-plugin</artifactId>
        <version>2.0-beta-1</version>
        <configuration>             
            <server>tomcat7</server>
            <url>http://localhost:8080/manager</url>
            <path>/mkyongWebApp</path>
        </configuration>
    </plugin>           

        <!-- Maven compiler plugin -->
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>

    </plugins>
2

2 Answers

0
votes

You should use the apache maven tomcat plugin instead of the codehaus tomcat-maven-plugin.

http://tomcat.apache.org/maven-plugin-2/

as mentioned on the web-site on codehaus.

0
votes

You have to give referance to server (tomcat7)

     <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>tomcat-maven-plugin</artifactId>
         <configuration>
            <server>tomcat7</server>
            <url>http://localhost:8080/manager/html</url>
         </configuration>
        </plugin>