Подтвердить что ты не робот

Ошибка tomcat-maven-plugin 403

Когда я использую 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=

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

В 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>
4b9b3361

Ответ 1

Приложение /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>

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

<server>
    <id>myserver</id>
    <username>myusername</username>
    <password>mypassword</password>
</server>

Ответ 2

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

HTTP://локальный: 8080/менеджер/текст

а также добавить в диспетчер ролей пользователей - script

Ответ 3

Вы используете 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 shoud есть конфигурация сервера, соответствующая значению в 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 (with tomcat down) должен работать.

Ответ 4

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

Ответ 5

Для Tomcat7, в tomcat-users.xml вам понадобится rollename 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 settings.xml:

<servers>
 <server>
  <id>myserver</id>
  <username>tomcat</username>
  <password>s3cret</password>
 </server>
</servers>

Ответ 6

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

Если вы используете 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 никогда не читало мой тег конфигурации...

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

Ответ 7

У вас может быть ошибка 403, если вы попытаетесь использовать плагин tomhouse для кодовой игры версии 1.1 для развертывания на сервере Tomcat 7. Версия 1.1 еще не поддерживает Tomcat 7.

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

Ответ 8

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

  • Измените свою конфигурацию в 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.

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

Ответ 9

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

http://localhost:8080/manager/text

Ответ 10

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

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

Ответ 12

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

Вы должны создать пользователя с помощью 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.

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

Ответ 13

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

У меня есть tomcat 7, maven 3 на ubuntu.

Ответ 14

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

Ответ 15

Может быть, вы должны проверить свой файл конфигурации в файле ~/.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.

Ответ 16

Это решение для плагина Tomacat7 "Apache": Как уже упоминалось ранее, вам нужно добавить "/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"/>

Ответ 17

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

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

Ответ 18

Если вы используете Eclipse с плагином m2eclipse, и у вас все еще есть эта ошибка после попытки этих решений, это может быть связано с тем, что в этом плагине не включен менеджер. Вы должны скачать Tomcat отдельно и настроить Eclipse для его использования (проверьте эту ссылку: tomcat-maven-plugin: сервер вернул код ответа HTTP: 403)

Ответ 19

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

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

    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version>
    
  • Измените параметр tomcat: deploy with tomcat7: deploy

Ответ 20

Я потратил более трех дней на серверный ответный код HTTP: 400 при попытке развернуть веб-приложение на Tomcat Server 8.0 в комплекте с Netbeans. Когда я использовал mvn tomcat7:deploy над командной строкой, все работало идеально, но без успеха через Netbeans IDE. Я установил плагин 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 при использовании только локального сервера. Коренной причиной для моей проблемы был плохой прокси-сервер, установленный в веб-браузере по умолчанию, который является источником для параметра "Настройки прокси-сервера".

Ответ 21

Я также получаю ошибку 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>