Votre question

[Résolu][Java] Exécuter une application externe en Java

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
15 Mars 2011 16:39:47

Bonjour à tous,

nous travaillons actuellement sur un projet ou nous devons utiliser des scripts externes et récupérer leur résultat dans un petit programme java.
Nous avons utilisé le code : http://ydisanto.developpez.com/tutoriels/j2se/runtime/#....

Nous avons bien sur modifié le programme par ls ou encore /bin/ls mais toujours la même erreur.

Lorsque on l'utilise dans eclipse dans un petit programme vide dans la methode main, nous avons une erreur que nous ne comprenons pas: # guarantee(_name_index != 0 && _signature_index != 0) failed: bad constant pool index for fieldDescriptor


Si quelqu'un pouvais nous aider sa serait sympa,
merci

Autres pages sur : resolu java exe cuter application externe java

a c 232 L Programmation
15 Mars 2011 18:41:50

Salut,

Est-ce que tu peux mettre le code que tu as utilisé ?
m
0
l
a b L Programmation
15 Mars 2011 18:54:38

Erreur de choix de langage (ton projet me semble plus adapté avec le python), mais passons. :) 

Pour l'erreur, il semblerait que c'est un problème avec le byte code, alors il faudrait installer les dernières versions et recompiler les classes (à exécuter sur une JVM de même version).
m
0
l
Contenus similaires
15 Mars 2011 19:10:07

Ce projet est un projet mobile sous android, alors notre choix s'est vite porté sur java.

Voici donc mon code :


  1. package com.android.sniffer;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6.  
  7. public class commande {
  8.  
  9. public static void main (String []args) throws IOException
  10. {
  11.  
  12. final Process process = Runtime.getRuntime().exec("/bin/pwd");
  13.  
  14. // Consommation de la sortie standard de l'application externe dans un Thread separe
  15. new Thread() {
  16. public void run() {
  17. try {
  18. BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
  19. String line = "";
  20. try {
  21. while((line = reader.readLine()) != null) {
  22. // Traitement du flux de sortie de l'application si besoin est
  23. System.out.println(line);
  24. }
  25. } finally {
  26. reader.close();
  27. }
  28. } catch(IOException ioe) {
  29. ioe.printStackTrace();
  30. }
  31. }
  32. }.start();
  33.  
  34. // Consommation de la sortie d'erreur de l'application externe dans un Thread separe
  35. new Thread() {
  36. public void run() {
  37. try {
  38. BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
  39. String line = "";
  40. try {
  41. while((line = reader.readLine()) != null) {
  42. // Traitement du flux d'erreur de l'application si besoin est
  43. System.out.println("erreur:"+ line);
  44.  
  45. }
  46. } finally {
  47. reader.close();
  48. }
  49. } catch(IOException ioe) {
  50. ioe.printStackTrace();
  51. }
  52. }
  53. }.start();
  54.  
  55.  
  56.  
  57. }
  58.  
  59. }



m
0
l
15 Mars 2011 20:26:05

Oui, ce n'est pas le code qui a un problème car quand je l'exécute sur ubuntu, sa passe impeccable. Mais sur mac os sa marche pas avec eclipse. Je vais donc développer sur ubuntu. Merci pour vos réponses.

PS : Si vous avez des solutions pour mettre à jour le jdk sur mac os, je suis prenneur
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS