ошибка 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 ]

3 голосов
/ 02 июля 2011

Это также возможно:

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <server>myserver</server>
        <username>admin</username>
        <password>admin</password>
    </configuration>
</plugin>
2 голосов
/ 15 сентября 2011

Раньше я получал ту же ошибку, вы просто должны убедиться, что файл tomcat-users.xml содержит пользователя (в моем случае это admin) с ролями (manager, manager-gui, admin, manager-script).

У меня есть Tomcat 7, Maven 3 на Ubuntu.

2 голосов
/ 10 сентября 2011

Если вы используете версию 7, есть одна загвоздка: доступ к ресурсу / manager / text по умолчанию отключен.

Вы должны создать пользователя с ролью mananger-script, как сказано в документации

It would be quite unsafe to ship Tomcat with default settings that allowed anyone
on the Internet to execute the Manager application on your server.
Therefore, the Manager application is shipped with the requirement that anyone
who attempts to use it must authenticate themselves, using a username and
password that have the role manager-script associated with them.
Further, there is no username in the default users file
($CATALINA_BASE/conf/tomcat-users.xml) that is assigned this role.
Therefore, access to the Manager application is completely disabled by default.

To enable access to the Manager web application, you must either create a new
username/password combination and associate the role name manager-script with it,
or add the manager-script role to some existing username/password combination.

Надеюсь, это поможет:)

1 голос
/ 16 октября 2011

Вам нужно только добавить роли менеджера-сценария и менеджера вашему пользователю tomcat в tomcat-users.xml в папке config.В Tomcat 7 вы должны указать разные роли для разных менеджеров GUI доступа, которые в этом случае переходят к тексту.В конце для текстового интерфейса вы должны использовать роль менеджера-сценария.

1 голос
/ 23 мая 2012

Может быть, вам следует проверить файл конфигурации в ~ / .m2 / settings.xml, этот файл должен иметь следующую структуру:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>

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

  <servers>
     <server>
        <id>mytomcat</id>
        <username>test</username>
        <password>test</password>
     </server>
  </servers>

позже запустите mvn tomcat: deploy.Помните, что вы также можете запустить tomcat: deploy -X, чтобы увидеть debbug.

1 голос
/ 20 марта 2015

Это решение для плагина "Apache" Tomcat7: как уже упоминалось, прежде чем вам нужно добавить "/ text" в конец URL

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
    <port>8080</port>
    <path>/deployPath</path>
    <url>http://localhost:8080/manager/text</url>
    <server>TomcatServer</server>
</configuration>

Настройте вас«settings.xml», который находится внутри папки .m2

<servers>
    <server>
        <id>TomcatServer</id>
        <username>script-admin</username>
        <password>password</password>
    </server>
</servers>

Поскольку вы используете Tomcat 7, САМОЕ важное, что вы должны создать другого пользователя для роли «manager-script», как она естьупоминается в документации!

<role rolename="manager-script"/>
<user username="tomcat" password="password" roles="manager-script"/>
0 голосов
/ 23 октября 2015

Я также получаю ошибку 403, но только когда я подключаюсь через Apache 2. Когда я использую порт 8080 и развертываю на tomcat напрямую, это работает.Итак: попробуйте добавить порт 8080 к URL-адресу

Я все еще пытаюсь выяснить, почему он не работает через Apache.Я использую ProxyPass / ajp://localhost:8009/ и

<Location "/manager" >
     Order allow,deny
     Allow from 62.245.147.202
     Satisfy Any
   </Location>
0 голосов
/ 21 октября 2014

Я потратил более трех дней на Сервер вернул код ответа HTTP: 400 при попытке развернуть веб-приложение на Tomcat Server 8.0 в комплекте с Netbeans.Когда я использовал mvn tomcat7:deploy в командной строке, все работало идеально, но без успеха через IDE Netbeans.Я установил плагин tomcat maven в POM.xml

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

плюс запись сервера в .m2 / conf / settings.xml для Maven,

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

и даже соответствующий пользователь tomcat в tomcat-users.xml

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

но безуспешно.Основной причиной был прокси-сервер, используемый в нашей компании, и настройки Netbeans. В Netbeans перейдите в Инструменты -> Параметры и на вкладке Общие - используйте настройки прокси-сервера вручную вместо настроек прокси-сервера системы (даже если настройки прокси-сервера системы работают).Это помогло мне, и теперь я могу развернуть веб-приложение на Tomcat 8 непосредственно из Netbeans.Вы также можете установить No Proxy, когда вы используете только локальный сервер.Основной причиной моей проблемы был неправильный прокси-сервер, установленный в веб-браузере по умолчанию, который является источником для параметра «Настройки прокси-сервера системы».

0 голосов
/ 18 ноября 2013

Переход от tomcat6 к tomcat7:

  1. Добавление ролей в tomcat-user.xml
  2. Добавление / text или / html к вашему URL
  3. Изменить версию плагина

    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version>
    
  4. Изменить параметр tomcat: развернуть с помощью tomcat7: внедрить

0 голосов
/ 24 апреля 2012

Если вы столкнулись с проблемой, касающейся имени пользователя и пароля, пожалуйста, не беспокойтесь, в каталоге tomcat есть файл с именем tomcat-user.xml, перейдите туда и посмотрите атрибуты имени и пароля и используйте их, когда в запросе запрашивается имя пользователя и пароль.

Если вы все еще не можете открыть домашнюю страницу apache, выполните одно действие, в каталоге tomcat есть другой файл с именем server.xml, перейдите и измените порт 8080 на этот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...