J'ai des problèmes pour démarrer Apache Tomcat 6 à partir de Netbeans IDE 7.4 (sur la version 7.3, j'ai eu les mêmes problèmes. D'autres personnes ont mentionné que ce problème existait aussi dans d'autres versions, comme la version 8.0, etc.).
Qu'est-ce que j'ai fait:
Utilisateur Tomcat: Je laisse les netbeans créer un nouvel utilisateur, appelé Tomcat avec le mot de passe Tomcat. Lorsque j'ouvre le fichier {Tomcat}\conf\Tomcat-users.xml après avoir ajouté le serveur, des informations sur mon utilisateur apparaissent:
<utilisateur password = "Tomcat" roles = "manager, admin" username = "Tomcat" />
Quand je clique maintenant sur "démarrer", je reçois le message " Le démarrage de Tomcat a échoué ".
Mes soupçons:
Cela affecte au moins les versions de NetBeans 7.4 à 8.0.2. Il a été signalé pour la première fois à partir de la version 8.0 et corrigé dans NetBeans 8.1. Cela aurait posé problème pour toutes les versions de Tomcat (confirmé pour les versions 7.0.56 à 8.0.28).
Les détails sont décrits comme suit: Netbeans bug n ° 248182 .
Ce problème est également lié aux publications mentionnant le résultat d'erreur suivant:
'127.0.0.1 *' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes.
Pour un Tomcat installé à partir du fichier Zip, je l'ai corrigé en modifiant le fichier catalina.bat
dans le répertoire Tomcat bin
.
Recherchez la configuration ci-dessous dans votre fichier catalina.bat
.
:noJuliConfig
set "Java_OPTS=%Java_OPTS% %LOGGING_CONFIG%"
:noJuliManager
set "Java_OPTS=%Java_OPTS% %LOGGING_MANAGER%"
Et changez-le comme ci-dessous par supprimant les guillemets} _:
:noJuliConfig
set Java_OPTS=%Java_OPTS% %LOGGING_CONFIG%
:noJuliManager
set Java_OPTS=%Java_OPTS% %LOGGING_MANAGER%
Enregistrez maintenant vos modifications et démarrez votre Tomcat à partir de NetBeans.
Cela affecte:
En effet, Netbeans ne "voit" pas que Tomcat est démarré, bien que tout ait bien commencé.
J'ai classé Bogue n ° 262749 auprès de NetBeans .
Dans le fichier server.xml
, dans l'élément Connector
pour HTTP/1.1, ajoutez l'attribut suivant: server="Apache-Coyote/1.1"
.
Exemple:
<Connector
connectionTimeout="20000"
port="8080"
protocol="HTTP/1.1"
redirectPort="8443"
server="Apache-Coyote/1.1"
/>
En effet, avant 8.5.3, la valeur par défaut était de définir l'en-tête du serveur sur Apache-Coyote/1.1
, alors que depuis 8.5.3, cette valeur par défaut est désormais vide. Apparemment, Netbeans vérifie cet en-tête.
Peut-être qu’à l’avenir nous pourrions nous attendre à une solution dans Netbeans pour résoudre ce problème.
J'ai pu remonter à un changement de documentation.
"Remplace l'en-tête du serveur pour la réponse http. Si elle est définie, la valeur De cet attribut remplace tout en-tête de serveur défini par une application Web Si elle n'est pas définie, toute valeur spécifiée par l'application est Utilisée. Si l'application ne spécifie pas de valeur, aucun en-tête Server .__ n'est défini. "
"Remplace l’en-tête du serveur pour la réponse http. Si elle est définie, la valeur De cet attribut remplace la valeur par défaut de Tomcat et toute en-tête de serveur Définie par une application Web. Si elle n’est pas définie, toute valeur spécifiée par application est utilisée. Si l’application ne spécifie aucune valeur, alors Apache-Coyote/1.1 est utilisé. Si vous n'êtes pas paranoïaque, vous n’avez pas besoin de cette fonctionnalité. "
Cela explique la nécessité d'ajouter explicitement l'attribut du serveur depuis la version 8.5.3.
En outre, il est très probable que ce problème avec les paramètres de proxy.
Tous ceux qui n’ont pas surmonté le problème de démarrage de Tomact, essayez dans NetBeans de choisir Pas de proxy dans les outils -> Options -> onglet Général.
Ça m'a aidé.
Pour que NetBeans puisse interagir avec Tomcat, il faut que l'utilisateur configuré comme tel dans netbeans soit correctement configuré dans le fichier Tomcat-users.xml
. NetBeans peut le faire automatiquement.
C’est-à-dire, dans le Tomcat-users.xml
, que vous pouvez trouver dans ${CATALINA_HOME}/conf
ou ${CATALINA_BASE}/conf
,
script-manager
Exemple, changer
<user password="Tomcat" roles="manager,admin" username="Tomcat"/>
À
<user password="Tomcat" roles="manager-script,manager,admin" username="Tomcat"/>
manager-script
est déclaréAjouter
<role rolename="manager-script"/>
En fait, l'aide en ligne Netbeans indique de manière incorrecte:
Nom d'utilisateur - Spécifie le nom d'utilisateur utilisé par IDE pour se connecter à l'application de gestion du serveur. L'utilisateur doit être associé au rôle de responsable. La première fois que IDE a démarré le serveur Web Tomcat, par exemple via l'action du menu Démarrer/Arrêter ou en exécutant un composant Web à partir de l'EDI, IDE ajoute un utilisateur admin avec un mot de passe généré de manière aléatoire. dans le fichier
Tomcat-base-path/conf/Tomcat-users.xml
. (Cliquez avec le bouton droit de la souris sur le noeud d'instance de serveur Web Tomcat dans la fenêtre Services et sélectionnez Propriétés. Dans la boîte de dialogue Propriétés, la propriété Répertoire de base pointe sur le répertoirebase-dir
.) L'entrée utilisateur admin dans le fichierTomcat-users.xml
ressemble à ce qui suit:<user username="idea" password="woiehh" roles="manager"/>
Le rôle doit être manager-script
et non pas manager
.
Pour un fichier Tomcat-users.xml
plus complet:
<?xml version='1.0' encoding='utf-8'?>
<Tomcat-users>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user password="Tomcat" roles="manager-script" username="Tomcat"/>
<user password="pass" roles="manager-gui" username="me"/>
</Tomcat-users>
Il y a un autre message de Nice sur pourquoi est-ce que je reçois l'erreur de déploiement?
J'ai eu le même problème mais aucune des réponses ci-dessus n'a fonctionné .. La solution pour moi était de restaurer l'application Web Manager fournie avec Tomcat.