Forum » Programiranje » Zaganjanje externi probgramov [java]
Zaganjanje externi probgramov [java]
Bojevnik ::
Imam sledeči problem. Delam program (java) ki se zanaša na nek dru program (recimo abc.exe).
Problem pa nastane ko hočem program abc.exe vključiti v svoj program in ga zapakirati v jar obliko.
Abc.exe mi je že uspelo dodati v resource in ga zagnati. Toda samo v eclipsu, ko pa naredim jar datoteko in jo probam pognati, mi pa vrne napako da datoteke abc.exe ne najde.
Ima mogoče kdo kakšen predlog kako bi to rešil?
Problem pa nastane ko hočem program abc.exe vključiti v svoj program in ga zapakirati v jar obliko.
Abc.exe mi je že uspelo dodati v resource in ga zagnati. Toda samo v eclipsu, ko pa naredim jar datoteko in jo probam pognati, mi pa vrne napako da datoteke abc.exe ne najde.
Ima mogoče kdo kakšen predlog kako bi to rešil?
nightrage ::
Ne vem zakaj bi hotel exe dat v jar datoteko. Drugač pa prlep kodo, kako dostopaš do resources.
Bojevnik ::
exe hočem dati v jar datoteko zato, da mi jo ne bo potrebno zmeram zraven kopirati.
Pot do programa nastavim tako
Če je pot pravilna prevejam stem:
Sam exe pa kličem tako:
Pot do programa nastavim tako
public static String FRUIT_FILEPATH = Constants.class.getResource("/fruit/Fruit-2-3-1.exe").toString().substring(6).replaceAll("%20", " ");
Če je pot pravilna prevejam stem:
if (!new File(Constants.FRUIT_FILEPATH).exists()) { System.err .println("Fruit file path is not set correctly. Ending program"); System.exit(1); }
Sam exe pa kličem tako:
/** * Checks if external program fruit is ready. * * @return <code>true</code> if fruit is ready, otherwise <code>false</code> * . */ public static boolean isFruitReady() { String h = null; try { Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(Constants.FRUIT_FILEPATH); writeToProcess(pr, "isready"); pr.getOutputStream().close(); BufferedReader input = new BufferedReader(new InputStreamReader( pr.getInputStream())); String line = null; while ((line = input.readLine()) != null) { h = line; } input.close(); } catch (Exception e) { e.printStackTrace(); } return h.equals("readyok"); }
Bojevnik ::
Očitno ne bo šlo na tak nalčin, ker jar nima veze z OS pomeni da tudi zanj ne ne obstaja (v tem kontekstu seveda:) ).
Tako da je kot kaže edini način če iz jar-a skopiram exe na disk in ga potem poženem.
Vseeno hvala za odgovore!
Tako da je kot kaže edini način če iz jar-a skopiram exe na disk in ga potem poženem.
Vseeno hvala za odgovore!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [JAVA] HTTPS clientOddelek: Programiranje | 3170 (1900) | peterv6i |
» | Java in pošiljanje elektronske pošte!!Oddelek: Programiranje | 1350 (1251) | janez_janez |
» | [java] problem pri pretvarjanju datoteke v stringOddelek: Programiranje | 1122 (1012) | pujs |
» | [JAVA] branje iz datotekeOddelek: Programiranje | 2404 (2039) | Bela01 |
» | [java] Runtime.exec()Oddelek: Programiranje | 1880 (1753) | borchi |