Bonjour

Je n'arrive pas à exécuter un petit script shell à partir de mon application java.

Lorsque j'ouvre une connexion avec le serveur unix avec telnet et je lance le script, il marche bien. Mais pas à partir de l'application java.

Les droits du script sont rwx rwx rwx

Voici le début du code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 // connection
            ftpbean.ftpConnect(hostname, login, password);
            // changement de répertoire
            ftpbean.setDirectory(path);                
            System.out.println("Changement de répertoire OK");
 
 
            //=====================================================
            Runtime runtime = Runtime.getRuntime();
            Process process = Runtime.getRuntime().exec(new String[] { "titi.sh*" , "ABC" } );

et voici le code d'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\.............
compile:
run:
Changement de répertoire OK
Une erreur de communication avec le serveur distant a eu lieu:
java.io.IOException: Cannot run program "titi.sh*": CreateProcess error=2, The system cannot find the file specified
     at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
        at java.lang.Runtime.exec(Runtime.java:593)
        at java.lang.Runtime.exec(Runtime.java:466)
        at val_diamonds2.MyFtpClient.Go(MyFtpClient.java:41)
        at val_diamonds2.MyFtpClient.main(MyFtpClient.java:22)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
     at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
        at java.lang.ProcessImpl.start(ProcessImpl.java:30)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
        ... 4 more
BUILD SUCCESSFUL (total time: 2 seconds)
Merci de votre aide.