tomcat-maven-plugin: Сервер вернул код ответа HTTP: 403

Я пытаюсь автоматически развернуть веб-приложение Maven из Eclipse Java EE на моем локальном сервере Tomcat. Я использую Windows XP. Это ошибка:

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

Я думаю, что я знаю причину этой ошибки:

  • Если я запускаю сервер Tomcat внутри eclipse, 127.0.0.1:8080 - это мое рабочее пространство / цель. На нем есть папка менеджера и остальные классы, поэтому она не работает. Возможное неудачное решение: скопируйте эту папку и файлы внутри моего проекта.
  • Если я запускаю сервер Tomcat вне затмения, 127.0.0.1:8080 - это tomcat_location / webapps. Это не работает, потому что Eclipse создает файл war в моей рабочей области, поэтому Tomcat не может его найти. Возможное решение: настройте maven-war-plugin для создания файла war в 127.0.0.1:8080. Как я мог это сделать? Это лучший способ продолжить?

pom.xml выдержка:

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <url>http://127.0.0.1:8080/manager</url>
        <username>admin</username>
        <password>password</password>
        <server>TomcatServer</server>
        <path>/practica-3</path>
    </configuration>
 </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
       <warSourceDirectory>WebContent</warSourceDirectory>
       <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
  </plugin>

Извлечение tomcat-users.xml:

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

ОБНОВЛЕНИЕ: pvm14 ответил на вопрос. Но ранее вам нужно открыть файл: Tomcat v7.0 Server по адресу localhost.server. Вот как:

  1. свойства
  2. При нажатии на местоположение коммутатора появится файл, обозначенный стрелкой 3.
  3. Открыть файл

1 ответ

Решение

На сервере Tomcat, который вы запускаете из Eclipse, консоль "Tomcat Manager" не будет доступна (localhost:8080/manager), если вы не настроите ее с помощью этой опции:

Это означает, что Tomcat, который вы запускаете из Eclipse, именно тот, который вы указали при определении сервера Tomcat в IDE. В противном случае Eclipse запускает сокращенную версию без менеджера в каталоге, расположенном внутри рабочей области:

{workspace_dir}\.metadata\.plugins\org.eclipse.wst.server.core\tmp0

Если у вас нет менеджера tomcat, доступного в экземпляре, который вы используете, tomcat-maven-plugin не сможет ничего развернуть

С наилучшими пожеланиями

Другие вопросы по тегам