Ошибка аутентификации плагина maven tomcat7, 403 Forbidden

Я публикую это после нескольких недель усилий. Я стараюсь и пытаюсь, потому что я чувствовал себя виноватым, публикуя это, потому что есть ветка, подобная этой. Но все же я получаю немного другую ошибку. Итак, у меня есть очень простое весеннее (не обязательно весеннее, конечно, проблема bcz связана с maven) приложение с maven.

Это раздел плагинов из моего файла pom.

<plugins>

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.0</version>
            <configuration>
                <url>http://localhost:8080/manager</url>
                <username>tomcat</username>
                <password>s3cret</password>
                <path>/Test</path>
                <port>8080</port>
            </configuration>
        </plugin>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>

Раньше у меня были проблемы с плагином maven tomcat, который не работал с tomcat 7 и т. д. и т. д., но теперь с «tomcat7-maven-plugin» они решены. Я использую «http://localhost:8080/manager» в качестве URL-адреса. Почти все темы об этом плагине компилятора maven tomcat связаны с ошибкой сборки. Но моя сборка прошла успешно (я запускаю как tomcat7:deploy). Проблема в том, что кот отвечает

Код состояния tomcatManager: 403, ReasonPhrase: Forbidden

вместе с html, который мы видим, когда у нас возникает ошибка аутентификации в браузере. Тот же код отлично работает под моей Linux-системой. Я пробую разные сценарии использования элемента сервера в settings.xml, который находится внутри .m2 и внутри maven_home/conf и т. д. Все еще не работает.

Как я понимаю, maven не может аутентифицировать кота. имя пользователя и пароль найдены, и я могу войти в систему с помощью графического интерфейса. Так что жду здесь помощи.

p.s - мое поле tomcat-users.xml

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

person Susitha Ravinda Senarath    schedule 20.02.2013    source источник


Ответы (5)


URL-адрес неверен, попробуйте:

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

каково содержимое файла tomcat-users.xml. Вы правильно установили разрешения? См. http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html

person Olivier Lamy    schedule 20.02.2013
comment
Он также выдает тот же результат с 403. Я думаю, что URL-адрес правильный, потому что сам сайт tomcat так говорит. tomcat.apache.org/maven-plugin-2.0/ tomcat7-maven-плагин/ - person Susitha Ravinda Senarath; 20.02.2013
comment
каково содержимое файла tomcat-users.xml. - person Olivier Lamy; 20.02.2013
comment
Я отправляю это на исходный вопрос о поиске. надеясь, что это будет ясно. - person Susitha Ravinda Senarath; 20.02.2013
comment
manager-script в атрибутах ролей и ‹url›localhost:8080/manager/text‹/url› это должно работать. - person Olivier Lamy; 20.02.2013
comment
Это работало только с ролью сценария менеджера и URL-адресом, упомянутым @olamy... Спасибо! - person Marcello de Sales; 01.04.2014

Я мог бы получить работу по развертыванию tomcat, но среда другая. Так что в любом случае я собираюсь рассказать, как я мог это сделать, так как, может быть, это кому-то поможет.

В этом случае у меня есть tomcat6 в качестве моего веб-контейнера, и я использую eclipse Helios в качестве IDE.

Во-первых, у меня установлены переменные среды Haven, как описано на веб-сайте maven (помощь по загрузке Maven ). Это означает, что переменные среды M2_HOME и M2 установлены, а M2 находится в моей переменной пути.

Затем в eclipse у меня есть папка установки maven, локальный репозиторий (если он не установлен по умолчанию) и файл settings.xml правильно. (Эти настройки находятся в окне -> Настройки -> Maven -> Установки и настройки пользователя)

В tomcat_home\conf\tomcat-users.xml я создал пользователя со сценарием диспетчера ролей. (Обратите внимание, что здесь я использую tomcat6)

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

В POM.xml у меня есть плагин maven tomcat, определенный следующим образом.

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

Затем в конфигурациях запуска eclipse я создаю конфигурацию для запуска цели "tomcat6:deploy" (это site от apache говорит, что целью является tomcat:deploy, но это не сработало).

Который отлично работает и развертывает мое приложение в контейнере. После развертывания приложение необходимо отменить с помощью «tomcat6: undeploy» перед повторным развертыванием.

Я не эксперт в этом, и все же у меня есть сомнения по поводу некоторых фактов. Но так как я видел этот вопрос во многих местах, я подумал, что это поможет кому-то решить ту же проблему.

Спасибо

person Susitha Ravinda Senarath    schedule 24.02.2013

Сегодня я попробовал то же приложение с Tomcat 7. Мне нужно изменить артефакт плагина на «tomcat7-maven-plugin». И я должен изменить URL-адрес как «http://localhost:8080/manager». После внесения этих изменений развертывание работает нормально. Также я понимаю, что maven читает settings.xml внутри папки .m2. Внутри mvaen_home/conf также есть файл settings.xml, но он не тот, который он читает. Еще одна вещь, которую я обнаружил, это то, что для tomcat7 нет undeploy для tomcat6 было undeploy.

person Susitha Ravinda Senarath    schedule 25.02.2013
comment
undeploy для tomcat7 теперь доступен в версии 2.1 :-) - person Olivier Lamy; 27.02.2013

Иногда, когда все из вышеперечисленных критериев совпадают, но вы все еще получаете сообщение об ошибке, есть вероятность, что вы используете команду mvn tomat7:deploy. И в то же время сервер поддерживается Eclipse, который не идет рука об руку. Вы можете остановить сервер в Eclipse IDE, а затем повторить попытку с помощью команды mvn.

person Afro    schedule 12.04.2013

Попробовав несколько вещей, у меня сработала следующая конфигурация. Пожалуйста, попробуйте

tomcat-users.xml

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

пом.xml

<!-- Maven Tomcat Plugin -->
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <configuration>
      <url>http://localhost:8080/manager/html</url>
      <username>tomcat</username>
      <password>tomcat</password>
      <update>true</update>
      <path>/Test</path>
    </configuration>
</plugin>
person Kaushal    schedule 09.07.2013