web-dev-qa-db-fra.com

erreur bash: impossible de trouver /Library/...../setclasspath.sh, mais c'est là

J'essaie de configurer le serveur Tomcat et j'utilise les instructions d'un site Web qui m'a chargé de

      # Execute the Tomcat startup script
      ./startup.sh 

mais quand j'entre la commande ./startup.sh j'obtiens une erreur

      Cannot find /Library/Tomcat/Home/bin/setclasspath.sh

mais le setclasspath.sh est là (voir capture d'écran ci-dessous):

enter image description here

Qu'est-ce que je fais mal????


maintenant, je ne peux pas cd to Home (voir capture d'écran ci-dessous):

enter image description here

voici les informations de chemin: enter image description here

19
codenamejupiterx

J'ai eu le même problème sur ma machine Mountain Lion et j'utilise cette commande:

$ unset CATALINA_HOME

et après cela, il a résolu mon problème. Cette commande désactive la variable d'environnement CATALINA_HOME.

53
ali

il suffit de lancer: $ unset CATALINA_HOME dans Terminal, et cela fonctionne à nouveau.

10
Macilias

C'est à cause de l'autorisation, vous pouvez l'exécuter en utilisant root $ Sudo pathtotomcat/bin/./startup.sh

Veuillez réinitialiser le CATALINA_HOME pour qu'il pointe le bon chemin. Cela devrait résoudre le problème. Par exemple; actuellement, il se peut qu’il se trouve dans "/ usr/share/Tomcat6 /" mais vous devez vérifier et pointer jusqu’au répertoire approprié, comme "/usr/share/Tomcat6/Apache-Tomcat-6.0.37/"

4

Moi aussi j'ai eu un problème similaire et je suis capable de le résoudre en changeant simplement l'autorisation de fichier du dossier Tomcat. Faites-le lire et écrivez pour tout le monde. Et sh startup.sh commande fonctionnerait bien avec Tomcat/7.0.34

J'ai cette solution d'ici

Pour rendre tous les scripts exécutables:

Sudo chmod +x /Library/Tomcat/bin/*.sh

J'espère que cela résoudra aussi votre problème.

1
Ankit

Cela se produit presque certainement à cause d'une valeur incorrecte de la variable d'environnement CATALINA_HOME dans votre Shell actuel. Dans mon cas, par exemple, une installation plus ancienne de Tomcat avait été supprimée et une autre version, mais j'avais oublié de modifier la variable d'environnement définie dans .bash_profile. Donc, toutes les méthodes suggérées qui suppriment la var fonctionneront. Si vous avez défini CATALINA_HOME dans .bash_profile, supprimez-le. unset CATALINA_HOME fonctionnerait aussi mais s'il est dans le profil, il sera à nouveau défini lorsque vous ouvrirez un nouveau Shell. 

0
factotum

Bien que toutes les réponses citées paraissent bien, il est judicieux de connaître la raison principale.

Quelque part dans votre système d'exploitation, un fichier définit des variables d'environnement pour votre système d'exploitation. L'un de ces noms de variables est CATALINA_HOME, qui pointe vers une adresse ou un chemin. Lorsque vous essayez d'exécuter ./startup.sh ou catalina.sh run, cette commande a besoin du CATALINA_HOME défini par votre système d'exploitation et remplace le CATALINA_HOME par défaut de la configuration de Tomcat. (Vous avez peut-être utilisé Tomcat et défini cette variable avant et vous l'oubliez maintenant)

La solution principale consiste donc à éditer ce fichier spécial et cela dépend vraiment du système d'exploitation. Dans mon cas, Fedora, deux fichiers sont candidats: l’un est ~/.bashrc et l’autre est /etc/profile. Une fois que vous les avez modifiés, vous devez source ou log out, puis log in (le OS X devrait être dans le fichier /Users/username/.bash_profile).

bien sûr, la commande unset CATALINA_HOME fonctionne, mais après avoir fermé et ouvert un nouveau terminal, vous devez à nouveau utiliser cette commande en raison de l'actualisation.

0
Elyas Hadizadeh

La réponse de ALi est bonne, mais pour une raison quelconque, j'avais également besoin d'ouvrir .bash_profile et de commenter CATALINA_HOME.

0
andilabs