Tomcat-Maven-плагин 401 ошибка - PullRequest
       10

Tomcat-Maven-плагин 401 ошибка

4 голосов
/ 07 сентября 2011

Я изучаю основы tomcat и, пытаясь развернуть свое веб-приложение на tomcat, я получаю следующую ошибку

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project struts2-demoapp: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/html/deploy?path=%2FmkyWebApp&war= -> [Help 1]
[ERROR]

, так как кажется, что местоположение файла войны не передается в tomcatВ моем файле manager.i есть следующие записи: tomcat-user.xml

tomcat-users>
<user name="admin" password="admin" roles="admin,manager" /><!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->

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


</tomcat-users>

здесь приведены данные pom.xml

<build>
        <plugins>
        <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                </configuration>
            </plugin>
            <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
                <warFile>${project.build.directory}/${project.build.finalName}.war</warFile>
                <url>http://localhost:8080/manager/html</url>
                <server>myserver</server>
                <path>/mkyWebApp</path>

        </configuration>
</plugin>

        </plugins>
    </build>

, в моем файле setting.xml есть записи

<server>
      <id>Tomcat6.x</id>

      <username>admin</username>
      <password>admin</password>
    </server>

Я не уверен, что именно здесь происходит неправильно. Любая помощь в этом отношении будет полезна.

Ответы [ 5 ]

5 голосов
/ 08 июля 2012

Изменить

<server>
  <id>Tomcat6.x</id>
  <username>admin</username>
  <password>admin</password>
</server>

на

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

Если вы используете Tomcat 7, используйте

 <url>http://localhost:8080/manager/html</url>

Если Tomcat 6

<url>http://localhost:8080/manager</url>

Запустите tomcat, запустите tomcat7: разверните или tomcat6: разверните

4 голосов
/ 08 сентября 2011

Вам необходимо сопоставить учетные данные из вашего settings.xml с конфигурацией сервера в вашем pom.xml.

В вашем случае это сделано, но с помощью элемента <id> вашего сервера, совпадающего с именем хоста сервера из pom.xml.

Поскольку вы указываете localhost, идентификатор также должен быть localhost. При изменении имени хоста вы также должны обновить файл settings.xml.

2 голосов
/ 24 января 2012

Он находится в документации по плагину : тег server/id в настройках Maven должен совпадать со значением configuration/server в вашем файле POM, то есть помещать <server>Tomcat6.x</server> в файл POM.

Есть некоторые другие незначительные проблемы с вашей записью tomcat-maven-plugin в файле POM:

  1. у вас отсутствует тег <version>1.1</version>,
  2. суффикс /html в TomcatURL менеджера не нужен (см. значение по умолчанию для тега <url>).
1 голос
/ 12 июля 2013

Когда я тоже столкнулся с этой проблемой.Моя проблема заключалась в использовании более старого

 <groupId>org.codehaus.mojo</groupId>

вместо использования

<groupId>org.apache.tomcat.maven</groupId>

Моя установка выглядит следующим образом

~ / .m2 / settings.xml

    <settings>
        <servers>
            <server>
              <id>localhost</id>
              <username>tomcat</username>
              <password>tomcat</password>
            </server>
        </servers>
    </settings>

pom.xml

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat6-maven-plugin</artifactId>
    <configuration>
            <url>http://localhost:8080/manager</url>
            <server>localhost</server>
    <path>/myapppath</path>         
    </configuration>
</plugin> 

tomcat / conf / tomcat-users.xml

<tomcat-users>
  <role rolename="manager"/>
  <user username="tomcat" password="tomcat" roles="admin-gui,manager-gui,manager-script,tomcat,manager"/>
</tomcat-users>
0 голосов
/ 23 июля 2013

Советую использовать этот плагин:

 <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-maven2-plugin</artifactId>
  <version>1.1.2</version>

Это очень полезно с Tomcat7. У меня такая же проблема с mojo <groupId>org.codehaus.mojo</groupId> но теперь, используя плагин Cargo , развертывание проходит гладко, как шелк.

...