Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Débuter
Débuter Forum d'entraide pour bien débuter avec Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/10/2010, 12h11   #1
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Par défaut Lancer un .bat avec Java -> cmd.exe inactif

Bonjour,

Je ne sais pas si je suis bien dans le bon groupe de discussion, mais je ne tgrouve pas d'infos sur le net pour mon problème.

je travaille avec un logiciel de transmissions de fichiers (CFT) sous windows xp SP3. Il est interfacé avec Java.
Dans les paramètres, on peut spécifier un .bat afin qu'il soit exécuté après réception.

Mon problème : le .bat est bien lancé mais il est inactif : dans le gestionnaire des tâches, un cmd.exe est présent mais rien ne se passe. La fenêtre cmd.exe n'apparaît pas et les commandes ne sont bien sûr pas exécutées.

S'agit-il d'un problème de sécurité/paramètrage windows/java ?

Merci pour vos lumières.
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2010, 13h52   #2
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
Salut,


Comment est exécuté ce bat ? Les flux d'entrée/sorties sont-ils traités ?
Et que fait-il lorsqu'il est lancé manuellement ?

Un peu de lecture sur le sujet :
a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2010, 14h20   #3
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Merci pour ta réponse.

En fait, je n'ai pas du tout la main sur cette appli. C'est un logiciel acheté. Il y a juste un jre installé sur la machine.

Le . bat (code type en-dessous) peut être lancé manuellement sans problème.
Je penche pour un problème "d'interdiction" de lancement de la part de windows pour java...

Code :
1
2
3
 
cd c:\MonRep
Copy &FNAME \\Monserveur\cftpc\
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2010, 14h31   #4
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
S'il y a quelque chose qui bloquerait l'exécution, alors l'application devrait recevoir une exception et tu ne verrais même pas le process "cmd.exe".


Après si tu n'as pas accès au programme java ca risque d'être difficile de trouver l'origine du problème.

a++

PS : C'est quoi &FNAME dans ton fichier bat ? C'est normal ca ?
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2010, 17h09   #5
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
oui c'est normale : c'est une variable d'environnement créée par le programme CFT. Elle a la valeur du nom physique de fichier.

merci pour ton aide. C'est ce que je pense : c'est pas java mais plutot la liaison entre java et windows.
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2010, 17h21   #6
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
Euh... non j'ai dit que le problème venait surement de la manière dont était appelé le programme dans le code Java...


Et je viens de vérifier sous le shell DOS le caractère & est un opérateur logique entre deux commandes. Donc cela revient à exécuter deux commande : "Copy" sans paramètre et "FNAME \\Monserveur\cftpc\"

Tu es sûr de ton batch ?

a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2010, 15h50   #7
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Le problème pour le lancement depuis l'appli, c'est que je n'ai pas le source. J'ai fait un incident auprès de l'éditeur, mais ils ne sont pas pressés d'une part, et pas sûr qu'ils ne me dient pas que c'est "juste" un problème windows...

Oui, j'en suis certain.

Du coup j'ai modifié mon bat :
Code :
1
2
3
 
cd c:\windows
start notepad.exe
Quand on le lance "manuellement", une fenêtre cmd s'ouvre, le bloc-notes de windows apparaît et la fenêtre cmd se ferme.

Avec l'appel dans l'appli, rien ne se passe. Juste mon cmd.exe présent dans le gestionnaire des tâches.

Il faut que je trouve des infos sur la sécurité/gestion des processus de windows.

Encore merci pour ton aide.
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 11h18   #8
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Bonjour,

j'ai eu une réponse (vaseuse) de l'éditeur. En fait, tout fonctionne si il n'y a pas d'affichage. Toutes les commandes doivent être redirigées vers un fichier qui sert de console. Par exemple :
Code :
1
2
Set Fic=c:\Monfichier.txt
echo toto>> %Fic%
Le seul hic, c'est que beaucoup de commandes ne fonctionnent pas (notamment les copy, start et autres réjouissantes instructions)

Dans tous les cas, ce n'est pas un problème java quin'est là que pour faire de l'affichage.

Merci pour votre aide.
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 11h19   #9
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
Citation:
Envoyé par frenchsting Voir le message
En fait, tout fonctionne si il n'y a pas d'affichage.
En clair cela signifie qu'ils se content de lancer le programme sans gérer les flux d'entrées/sorties...


a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 17h26   #10
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
C'est un peu plus subtil. C'est juste une interface qui scanne et interagit à intervalles réguliers l'action de programmes cachés.

L'exécution est faite par un programme caché mais l'interface java est juste un emballage qui permet de faire des saisies plus simples qu'ne ligne de commande
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 17h35   #11
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
Oui mais le fait que le script ne fonctionne pas si on ne redirige pas vers un fichier indique qu'ils ne gèrent pas les flux d'entrée/sorties

S'ils ne veulent vraiment pas les gérer, il faudrait au moins qu'il les fermes directement après avoir lancé le process, pour éviter ces blocages...


a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2010, 12h02   #12
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Bon... Un collègue d'un autre site m'a donné la solution. Il avait eu un problème similaire.

Il faut que la case "autoriser interaction avec le bureau" soit cochée.
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2010, 12h10   #13
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
Citation:
Envoyé par frenchsting Voir le message
Il faut que la case "autoriser interaction avec le bureau" soit cochée.
Bizarre ça

Ce n'est pas du Java ça. C'est quoi cette option ? C'est dans ton application ???


a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h11.


 
 
 
 
Partenaires

Hébergement Web