Question

Lorsque j'utilise MVN Tomcat: Déploiement de Tomcat-Maven-Plugin, il y a une erreur 403:

Échec de l'exécution de but org.codehaus.mojo: tomcat-maven-plugin: 1.0: deploy (default-Cli) sur le projet my-webapp: Impossible d'invoquer le gestionnaire de tomcat: le serveur a renvoyé le code de réponse HTTP: 403 pour l'URL: http://localhost:8080/manager/text/deploy?path=%2Fdms&war=

Je pense que c'est à cause du paramètre de guerre nul. Mais pourquoi est-ce nul ???

Dans pom.xml, il y a:

<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>
Était-ce utile?

La solution

La /manager L'application est par défaut sécurisée par nom d'utilisateur / mot de passe. Si vous entrez http: // localhost: 8080 / manager Il vous sera également demandé de fournir des informations d'identification de sécurité. Créer / activer d'abord l'utilisateur dans Tomcat: après l'annulation ou quelques tentatives infructueuses, Tomcat fournira de l'aide sur l'écran d'erreur. Puis utilisez ces informations d'identification dans tomcat-maven-plugin Comme expliqué ici:

Ajoutez un bloc de configuration du plugin à votre pom.xml:

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

Ajoutez un bloc de serveur correspondant à vos paramètres.xml:

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

Autres conseils

vous devez utiliser / texte:

http: // localhost: 8080 / manager / text

et également ajouter au manager de rôle utilisateur-script

Vous utilisez Tomcat 7, vous devriez laisser votre configuration de plugin dans pom.xml comme ceci:

<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>

J'ai essayé avec la configuration de la version, comme l'exemple ci-dessus, mais cela n'a pas fonctionné pour moi. Dans settings.xml shoud a la configuration du serveur, correspondant à la valeur dans le pom.xml

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

Donc, MVN Tomcat: Deploy ou MVN Tomcat: Redeploy (si vous avez déjà déployé l'application), ou MVN Tomcat: Run (avec Tomcat Down) devrait fonctionner.

il vous suffit de changer l'URL en ajoutant le "/ html" pour ce sera comme ça http: // localhost: 8080 / manager / html Et le bingo ça marche espère que vous aide

Pour Tomcat7, dans tomcat- users.xml, vous avez besoin de rolename manager-script aussi:

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

et dans Pom.xml de Project

<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>

et les paramètres de Maven.xml:

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

Il y a quelques étapes, il faut être sûr que cela est accompli. Cela peut être un vrai trou noir.

Si vous utilisez Tomcat-Maven-Plugin à partir d'org.codehaus.mojo, vous devez utiliser cette configuration:

<configuration>
    <url>http://localhost:8080/manager/text</url>
    <warFile>your_war_filename.war</warFile>
    <server>server_name_on_settingsxml</server>
</configuration>

Veuillez vous assurer que vous avez des informations d'identification du serveur 'Server_Name_on_SettingSxml' définies sur Maven Settings.xml. Utilisez MVN Tomcat: Deploy (vous devez utiliser ce préfixe 'Tomcat'), c'est la seule façon dont le déploiement des configurations ci-dessus est lue.

Cependant, si vous utilisez Tomcat7-Maven-Plugin à partir d'org.apache.tomcat.maven, vous devez utiliser MVN Tomcat7: Deploy. Le préfixe «Tomcat7» lira la configuration du plugin:

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>

J'utilisais Tomcat: Deploy, et j'avais sur le pom.xml le Tomcat7-Maven-Plugin défini. Ainsi, le déploiement Maven ne lisait jamais ma balise de configurations ...

Si vous vous assurez que les noms d'utilisateur et les mots de passe définissent correctement et que vous utilisez le bon plugin lors du déploiement, cela fonctionnera.

Vous pouvez avoir une erreur 403 si vous essayez d'utiliser le Plugin Codehouse Tomcat version 1.1 pour se déployer sur un serveur Tomcat 7. La version 1.1 ne prend pas encore en charge Tomcat 7.

Si vous utilisez Tomcat 7, vous devez utiliser le fret.

Si vous utilisez Tomcat 7:

  1. Modifiez votre configuration dans pom.xml pour utiliser la version Tomcat 7 du plugin

    <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>
    

Remarquez les valeurs et les valeurs - elles sont différentes de celles de Tomcat 6.

  1. N'oubliez pas de modifier le "Tomcat: Deploy" en "Tomcat7: Deploy" dans vos scripts, ou lanceurs de configurations d'outils externes dans Eclipse.
  2. Ajoutez une configuration de serveur à vos paramètres.xml, généralement situé sous .M2
<server>
    <id>TomcatServer</id>
    <username>some_user_name</username>
    <password>some_password</password>
</server>
  1. Si vous avez besoin d'options supplémentaires, comme le déploiement d'un fichier de guerre situé dans un dossier non standard, visitez: Plugin Tomcat 7 Maven

J'ai découvert que je devais utiliser la chaîne suivante au lieu de "html":

http://localhost:8080/manager/text

Ceci est également possible:

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

Si vous utilisez Tomcat 7, vous devez vous référer à l'URL http: // localhost: 8080 / manager / html Dans le plugin Tomcat.

http://mojo.codehaus.org/tomcat-maven-plugin/examples/deployment-tomcat7.html

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

Si vous utilisez la version 7, il y a une prise: l'accès à la ressource / manager / texte n'est pas activé par défaut.

Vous devez créer un utilisateur avec le rôle de manier-script, comme il le dit dans le Documentation

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.

J'espère que cela aide :)

J'avais l'habitude d'obtenir la même erreur, il vous suffit de vous assurer que le fichier tomcat- users.xml contienne l'utilisateur (admin dans mon cas) avec des rôles comme (Manager, Gui, Admin, Manager-Script).

J'ai Tomcat 7, Maven 3 sur Ubuntu.

Il vous suffit d'ajouter les rôles Manager-Script et Manager à votre utilisateur TomCat dans Tomcat-Users.xml dans le dossier Config. Dans Tomcat 7, vous devez spécifier différents rôles pour différents accès de l'interface graphique Manager qui, dans ce cas, revient au texte. À la fin de l'interface de texte, vous devez utiliser un rôle de manager-script.

Peut-être que vous devez vérifier votre fichier de configuration dans ~ / .m2 / settings.xml Ce fichier doit être avec la structure suivante:

<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>

Après cela, vous devez vous assurer que votre serveur Conf est correct pour votre projet, instance de:

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

Exécutez plus tard MVN Tomcat: Deploy. N'oubliez pas que vous pouvez également exécuter Tomcat: Deploy -x pour voir le débbug.

Cette solution concerne le plugin "Apache" Tomcat7: comme il est déjà mentionné avant, vous devez ajouter "/ texte" à la fin de l'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>

Configurez vous "Settings.xml" qui est situé à l'intérieur du dossier .m2

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

Puisque vous utilisez Tomcat 7, la chose la plus importante est que vous devriez créer un utilisateur différent pour le rôle "Manager-Script", comme il est mentionné dans la documentation!

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

Si vous êtes confronté à un problème concernant le nom d'utilisateur et le mot de passe, ne vous inquiétez pas, il y a un fichier dans le répertoire Tomcat nommé tomcat-user.xml, allez-y et voyez les attributs du nom et du mot de passe et utilisez lorsque l'invite demande le nom d'utilisateur et le mot de passe.

Si vous ne pouvez pas ouvrir la page d'accueil Apache, faites une chose, dans le répertoire Tomcat, il y a un autre fichier nommé server.xml Allez changer le port 8080 pour cela

Si vous utilisez Eclipse avec le plugin m2eclipse et que vous avez toujours cette erreur après avoir essayé ces solutions, cela pourrait être parce que ce plugin n'a pas le gestionnaire inclus. Vous devez télécharger Tomcat séparément et configurer Eclipse pour l'utiliser (consultez ce lien: Tomcat-Maven-Plugin: le serveur renvoyé Code de réponse HTTP: 403)

Passer de Tomcat6 à Tomcat7 Recap:

  1. Ajouter des rôles dans tomcat-user.xml
  2. Ajouter / texte ou / html à votre URL
  3. Modifier la version du plugin

    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version>
    
  4. Modifier l'option Tomcat: Déployer avec Tomcat7: Déploiement

J'ai passé plus de trois jours Le serveur renvoyé Code de réponse HTTP: 400 Tout en essayant de déployer une application Web sur Tomcat Server 8.0 regroupé avec NetBeans. Quand j'ai utilisé mvn tomcat7:deploy Sur la ligne de commande, tout a fonctionné parfait, mais aucun succès via NetBeans IDE. J'ai réglé le plugin Tomcat Maven dans 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>

plus enregistrer le serveur dans .m2 / conf / settings.xml pour maven,

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

Même l'utilisateur de Tomcat approprié dans Tomcat-users.xml

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

mais toujours sans succès. La cause profonde était un serveur proxy utilisé dans nos paramètres de l'entreprise et NetBeans. Dans NetBeans, accédez aux outils -> Options et sur l'onglet Général, utilisez les paramètres de proxy manuel au lieu des paramètres de proxy système (même si les paramètres de proxy système fonctionnent). Cela m'a aidé et maintenant je suis en mesure de déployer directement l'application Web sur Tomcat 8 à partir de NetBeans. Vous ne pouvez également définir aucun proxy lorsque vous utilisez uniquement le serveur localhost. La cause profonde de mes problèmes était un mauvais proxy défini dans le navigateur Web par défaut, qui est la source des paramètres proxy du système d'options.

J'obtiens également l'erreur 403, mais uniquement lorsque je me connecte via Apache 2. Lorsque j'utilise le port 8080 et que je me déplace directement sur Tomcat, cela fonctionne. Alors: Essayez d'ajouter le port 8080 à l'URL

J'essaie toujours de comprendre pourquoi cela ne fonctionne pas via Apache. j'utilise ProxyPass / ajp://localhost:8009/et

<Location "/manager" >
     Order allow,deny
     Allow from 62.245.147.202
     Satisfy Any
   </Location>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top