maven tomcat7: сбой развертывания с отказом в доступе - PullRequest
10 голосов
/ 30 марта 2012

У меня есть кот 7. Доступ к приложению менеджера (http://localhost:7777/manager/html) отлично работает с учетными данными, определенными в tomcat-users.xml.

Теперь я хочу развернуть приложение с помощью maven3. Я настроил плагин Tomcat Maven:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0-beta-1</version>
    <configuration>
        <url>http://localhost:7777/manager</url>
        <server>localhost7777</server>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat6-maven-plugin</artifactId>
    <version>2.0-beta-1</version>
    <configuration>
        <url>http://localhost:7777/manager</url>
        <server>localhost7777</server>
    </configuration>
</plugin>

В mavens setting.xml я добавил запись для сервера:

<servers>
    <server>
        <id>localhost7777</id>
        <username>manager</username>
        <password>secret</password>
    </server>
</servers>

Теперь приложение будет успешно собрано. Но цель tomcat7: deploy приводит к сообщению об ошибке отказа в доступе от tomcat:

...
[INFO] Deploying war to http://localhost:7777/workload-monitor  
Uploading: http://localhost:7777/manager/deploy?path=%2Fworkload-monitor&update=true
Uploaded: http://localhost:7777/manager/deploy?path=%2Fworkload-monitor&update=true (2329 KB at 55435.1 KB/sec)

[INFO] <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
[INFO] <html>
[INFO]  <head>
[INFO]   <title>403 Access Denied</title>
[INFO]   <style type="text/css">
[INFO]     <!--
...

Может ли кто-нибудь дать мне подсказку?

Ответы [ 4 ]

19 голосов
/ 06 декабря 2012

Чтобы ответить на этот вопрос, я недавно столкнулся с этой проблемой, настраивая свой ящик с Ubuntu, и мое решение вместо / html фактически указывало на / text: Code:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <version>1.1</version>
    <configuration>
      <url>http://localhost:8080/manager/text</url>
      <username>admin</username>
      <password>admin</password>
    </configuration>
  </plugin>
3 голосов
/ 31 мая 2012

Решение, описанное в http://mycodenotes.wordpress.com/2011/01/25/mvn-tomcatdeploy-to-tomcat-7/, сработало для меня.

Плагин mvn tomcat-maven-plugin прекрасно работает с tomcat 5.5, но выдает ошибку 403 при попытке выполнить развертывание на экземпляре tomcat 7. Оказывается, tomcat 7 изменил URL для развертывания, поэтому вам нужно настроить плагин для использования этого другого URL. Вы можете сделать это с помощью следующей конфигурации плагина:

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

Волшебство заключается в настройке URL, которая теперь использует / manager / html, а не URL-адрес по умолчанию для просто / manager. Первоначальный источник этой информации: http://www.jroller.com/Fabszn/entry/tomcat_7_et_le_plugin

1 голос
/ 03 апреля 2012

Хотя это и не ответ на вопрос, похоже, проблема связана с тем, что tomcat:deploy пытается развернуть веб-приложение на http://localhost:7777/manager/deploy, пока оно tomcat7, URL-адрес развертывания - http://localhost:777/manager/html/deploy. Кажется, нет способа указать это как конфигурацию плагина.

0 голосов
/ 09 июля 2013

Работает со следующими настройками:

MAVEN_HOME / conf / settings.xml:

 <server>
     <id>myTomcat</id>
     <username>admin</username>
     <password>admin</password>
 </server>

TOMCAT_HOME / conf / tomcat-users.xml:

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

pom.xml:

  <pluginManagement>
     <plugins>
        <plugin>
           <groupId>org.apache.tomcat.maven</groupId>
           <artifactId>tomcat7-maven-plugin</artifactId>
           <version>2.1</version>
           <configuration>
              <server>myTomcat</server>
              <url>http://localhost:8080/manager/text</url>
              <path>/${project.build.finalName}</path>
           </configuration>
        </plugin>
     </plugins>
  </pluginManagement>

Развернуть с помощью:

mvn clean install tomcat7:redeploy
...