ошибка tomcat-maven-plugin 403 - PullRequest
34 голосов
/ 23 марта 2011

Когда я использую mvn tomcat: развертывание tomcat-maven-plugin, возникает ошибка 403:

Не удалось выполнить цель org.codehaus.mojo: tomcat-maven-plugin: 1.0: deploy (default-cli) в проекте my-webapp: Невозможно вызвать менеджер Tomcat: сервер вернул код ответа HTTP: 403 для URL: http://localhost:8080/manager/text/deploy?path=%2Fdms&war=

Я думаю, это из-за нулевого параметра войны. Но почему это нуль ???

В pom.xml есть:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>

  <configuration>
    <warFile>target\my-webapp.war</warFile>
    <server>myserver</server>
    <url>http://localhost:8080/manager/text</url>
    <path>/dms</path>
  </configuration>
</plugin>

Ответы [ 21 ]

45 голосов
/ 11 июня 2012

Вы должны использовать / текст:

http://localhost:8080/manager/text

, а также добавить в роль пользователя manager-script

27 голосов
/ 29 августа 2011

Если вы используете tomcat 7, вы должны оставить конфигурацию вашего плагина в pom.xml следующим образом:

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

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

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

Итак, mvn tomcat: deploy или mvn tomcat: redeploy (если вы уже развернули приложение), или mvn tomcat: run (с отключенным tomcat) должны работать.

14 голосов
/ 23 марта 2011

Приложение /manager по умолчанию защищено именем пользователя / паролем. Если вы введете http://localhost:8080/manager, вас также попросят предоставить учетные данные безопасности. Сначала создайте / включите пользователя в Tomcat: после отмены или нескольких неудачных попыток Tomcat предоставит помощь на экране ошибки. Затем используйте эти учетные данные в tomcat-maven-plugin, как объяснено здесь :

Добавьте блок конфигурации плагина в ваш pom.xml:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
            <server>myserver</server>
    </configuration>
</plugin>

Добавьте соответствующий блок сервера в файл settings.xml:

<server>
    <id>myserver</id>
    <username>myusername</username>
    <password>mypassword</password>
</server>
8 голосов
/ 25 января 2012

вам просто нужно изменить URL, добавив "/ html", так что это будет похоже на http://localhost:8080/manager/html и бинго это работает Надеюсь, что помощь

8 голосов
/ 08 апреля 2013

Для Tomcat7, в tomcat-users.xml вам нужно rolename manager-script , а также:

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

и в POM.xml

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>tomcat-maven-plugin</artifactId>
   <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>myserver</server>
        <path>/sw</path>
   </configuration>
</plugin>

проекта.и настройки maven.xml:

<servers>
 <server>
  <id>myserver</id>
  <username>tomcat</username>
  <password>s3cret</password>
 </server>
</servers>
7 голосов
/ 14 июля 2012

Есть несколько шагов, которые нужно быть уверенными, что выполнены.это может быть настоящая черная дыра.

Если вы используете tomcat-maven-plugin из org.codehaus.mojo, вы должны использовать эту конфигурацию:

<configuration>
    <url>http://localhost:8080/manager/text</url>
    <warFile>your_war_filename.war</warFile>
    <server>server_name_on_settingsxml</server>
</configuration>

Убедитесь, что у вас есть'server_name_on_settingsxml' учетные данные сервера, определенные в maven settings.xml.Используйте mvn tomcat: deploy (вы должны использовать этот префикс 'tomcat'), это единственный способ, которым при развертывании считываются вышеуказанные конфигурации.

Однако, если вы используете tomcat7-maven-plugin из org.apache.tomcat.maven, вы должны использовать mvn tomcat7: deploy.Префикс 'tomcat7' будет читать конфигурацию из плагина:

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

Я использовал tomcat: deploy, и у меня в файле pom.xml определен tomcat7-maven-plugin.Итак, развертывание maven никогда не считывало мой тег конфигурации ...

Если вы уверены, что у вас правильно определены имена пользователей и пароли, и вы используете правильный плагин при развертывании, он будет работать.

6 голосов
/ 29 апреля 2011

Вы можете получить ошибку 403, если попытаетесь использовать плагин codehouse tomcat версии 1.1 для развертывания на сервере Tomcat 7. Версия 1.1 пока не поддерживает Tomcat 7.

Если вы используете Tomcat 7, вы должны использовать Cargo.

6 голосов
/ 28 мая 2013

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

  1. Измените конфигурацию в pom.xml, чтобы использовать версию Tomcat 7 плагин

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
            <url>http://127.0.0.1:8080/manager/html</url>
            <server>TomcatServer</server>
            <path>/your_context</path>
            <username>some_user_name</username>
            <password>some_password</password>
        </configuration>
    </plugin>
    

Обратите внимание на значения и - они отличаются от значений для Tomcat 6.

  1. Не забудьте изменить "tomcat: deploy" на "tomcat7: deploy" в ваши сценарии или средства запуска конфигураций внешних инструментов в Eclipse.
  2. Добавить конфигурацию сервера в файл settings.xml, обычно расположенный в папке .m2
<server>
    <id>TomcatServer</id>
    <username>some_user_name</username>
    <password>some_password</password>
</server>
  1. Если вам нужны дополнительные параметры, такие как развертывание файла WAR, расположенного в нестандартная папка, посетите: Tomcat 7 Maven Plugin
4 голосов
/ 29 января 2013

Я обнаружил, что вместо «html» мне пришлось использовать следующую строку:

http://localhost:8080/manager/text
3 голосов
/ 22 августа 2011

Если вы используете Tomcat 7, вам нужно сослаться на URL http://localhost:8080/manager/html в плагине tomcat.

http://mojo.codehaus.org/tomcat-maven-plugin/examples/deployment-tomcat7.html

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>
  <version>1.2-SNAPSHOT</version>
  <configuration>
    <url>http://localhost:8080/manager/html</url>
  </configuration>
</plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...