Cygwin n'est pas trouvé

Fermé
jayzman - Modifié par baladur13 le 14/12/2015 à 15:41
 jayzman - 4 janv. 2016 à 06:43
bonjour a tous,
je veux exécuter un fichier .sh dans cygwin en java et il me donne de l'erreur suivant:
voici mon code
      Process process;
             String cmd[] = new String[3];
            cmd[0] = "C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -";
            cmd[1] = "-c";
            cmd[2] = "cd decoder && bash TEST.sh";
            try
            {
                process = Runtime.getRuntime().exec(cmd);
                  
                 process.waitFor();
                if(process.exitValue() == 0)
                {
                    JOptionPane.showMessageDialog(this,"execution reussi!");
                }
                else
                {
                    JOptionPane.showMessageDialog(this,"execution non reussi!");
            }
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}

voici l'erreur
Exception: java.io.IOException: Cannot run program "C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -": CreateProcess error=2, Le fichier spécifié est introuvable




il ne trouve pas C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico - mais c'est bien le repertoire;est ce que quelqu'un peut me suggérer un idée?
merci
jayzman
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

faseldi Messages postés 279 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 3 janvier 2017 20
15 déc. 2015 à 12:37
Est-ce que le problème ne viendrait pas de l'icône ?
Pour moi il faut spécifier son chemin absolu, là tu dis qu'elle est à la racine / de ton disque.

Tu devrais tester avec -i C:\\cygwin\\Cygwin-Terminal.ico

Désolé d'avoir répondu un peu tard.
0
bonjour faseldi,
pas de quoi,merci pour votre réponse,
j'ai testé votre suggestion mais ça donne le même erreur,
0
c'est icône que je veut lancé,il est sur le bureau mais le chemin d'emplacement est celle que j'ai mentionné dans mon code,mais je ne sais pas pourquoi il ne le trouve pas,est-ce-qu'il y a une erreur dans mon programme,peut être dans le tableau?
0

Process process;
String cmd = null;
cmd = "C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -";
try
{
process = Runtime.getRuntime().exec(cmd);

process.waitFor();
if(process.exitValue() == 0)
{
JOptionPane.showMessageDialog(this,"execution reussi!");
}
else
{
JOptionPane.showMessageDialog(this,"execution non reussi!");
}
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}


quand je fais comme ça il trouve mais quand je le fais dans le tableau pour exécuter autre chose il ne le trouve pas,
0
faseldi Messages postés 279 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 3 janvier 2017 20
15 déc. 2015 à 15:37
J'ai toujours fais comme tu fais actuellement, à la fa_çon qui marche ! :p
0
jayzman1 Messages postés 4 Date d'inscription mardi 15 décembre 2015 Statut Membre Dernière intervention 20 janvier 2016
15 déc. 2015 à 15:40
Ok,mais je veut l'automatisme du code,comme ça je compile automatiquement le commande que je veut lancé dans le rep decoder,est-ce-qu'il n'y a pas de moyen? :)
0
fmvgld Messages postés 117 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 30 décembre 2015 9
Modifié par fmvgld le 30/12/2015 à 20:51
quand je doit lancer ce genre de commande je cree un .bat a la racine de mon projet qui me sert de lanceur.

en gros tu met C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -
dans ton bat lance.bat et tu l'appel a partir de ton code java
0
faseldi Messages postés 279 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 3 janvier 2017 20
Modifié par faseldi le 30/12/2015 à 21:28
+1 Je vois que je suis pas le seul à utiliser cette technique :D ( enfin pas en java par contre :) )
0
bonjour à vous et bonne année 2016
merci pour vos réponse,
ça a marché pour l’exécution mais pour le changement de répertoire et exécution de script,
je veux entrer dans un nouveau répertoire et exécuter un script à partir de cet répertoire

quand je lance le cygwin
on a
[~]$
et je veut rentrer dans test
[~/test]$
et enfin je veut executer un script .sh ou .pl
[~/test]$bash test.sh

et je veut que ce sera fait par un seul bouton en java sans entrer manuellement le commande :),
merci à vous

jayzman
0