Autor Tema: [Duda] Ejecutar archivo externo de un jar  (Leído 520 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado GoldenGlory

  • Grado B
  • *
  • Topic Author
  • Mensajes: 306
  • ar
  • Agradecimientos: 67
  • Cronica: : Interlude
  • Revision: 372
  • S.O: Windows 7
  • Serverpack : L2JaCis
[Duda] Ejecutar archivo externo de un jar
« en: Junio 04, 2017, 01:29:03 am »
gracias
Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    Buenas, tengo una duda.. estube mirando un tutorial que vi en el foro para crear interfaces graficas con el NETBRANS y la verdad que me copo, quise probar con algo como para ver si me salia y me topo con esto..
    Abro el jar compilado y no me ejecuta el bat (por lo menos es lo que parece) ya que en el administrador de tareas me dice que consumo de ram tiene muy poco cuando se esta ejecutando.. Nose si escribi algo mal o me falto algo, voy poniendo lo que entendí también para si alguien quiere probarlo y usarlo para su servidor lo puede usar tranquilamente.
    Lo probe con la extensión jar y lo probé con la extensión exe y no hay caso de ninguna de las dos maneras..

    L2JProject.java

    Código: [Seleccionar]
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package main;

    import main.windows.VentanaGameserver;
    import main.windows.VentanaLoginserver;
    import main.windows.Command;

    /**
     *
     * @author Ibiza - DevAdmins
     */
    public class L2JProject
    {
        public static void main (String[] args)
        {
           
            //Gameserver
            VentanaGameserver miVentanaGameserver;
            miVentanaGameserver = new VentanaGameserver();
            miVentanaGameserver.setVisible(true);
            Command.execute("startGameServer.bat");
           
            //Loginserver
            VentanaLoginserver miVentanaLoginserver;
            miVentanaLoginserver = new VentanaLoginserver();
            miVentanaLoginserver.setVisible(true);
            Command.execute("startLoginServer.bat");
        }
    }

    Bueno lo que trate de hacer aca fue armar los dos constructores desde main y construirlos en sus respectivos paquetes para que no me quede todo junto en una clase.

    Command.java

    Código: [Seleccionar]
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package main.windows;

    import java.io.BufferedReader;
    import java.io.InputStreamReader;

    /**
     *
     * @author Yamil Bracho
     */
    public class Command
    {
        public static void execute(String comando)
        {
    try
    {
    String linea;
    Process p = Runtime.getRuntime().exec(comando);
    BufferedReader input = new BufferedReader (new InputStreamReader(p.getInputStream()));
    while ((linea = input.readLine()) != null)
    {
    System.out.println(linea);
    }
    input.close();
    }
    catch (Exception err)
    {
    err.printStackTrace();
    }
    }
    }

    Bueno esta clase y me parece que aca esta el drama de por que nose ejecuta, la saque de internet, vi varias pero por lo que entendi generalmente hay dos metodos de ejecutar archivos externos.
    Esta que es por medio de una Clase y la otra es directamente hacer el llamado al archivo en su ubicacion especifica.

    VentanaGameserver.java

    Código: [Seleccionar]
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package main.windows;
    import javax.swing.JFrame;
    /**
     *
     * @author Ibiza - DevsAdmins
     */
    public class VentanaGameserver extends JFrame
    {
        Object ventana;

       
        public VentanaGameserver()
        {
            VentanaGameserver();
        }

            private void VentanaGameserver()
            {
                setSize (600,600);
                setTitle("Gameserver");
                setDefaultCloseOperation(EXIT_ON_CLOSE);
            }
    }

    Esta es la ventana del Gameserver y bueno leyendo un poco no es dificil entender que es cada cosa.

    VentanaLoginserver.java

    Código: [Seleccionar]
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package main.windows;
    import javax.swing.JFrame;
    /**
     *
     * @author Familia
     */
    public class VentanaLoginserver extends JFrame
    {
        Object ventana;

            public VentanaLoginserver()
            {
                setSize (600,600);
                setTitle("Loginserver");
            }
    }

    « Última modificación: Junio 04, 2017, 01:56:58 am por goldenglory »

    Conectado Kimeraweb

    • AdminSite
    • *
    • Mensajes: 2157
    • de
    • Agradecimientos: 755
    • Kimeraweb
      • http://l2devsadmins.net
    • Cronica: : Alfa
    • Revision: Alfa
    • S.O: Windows 10
    • Serverpack : Desarrollo interno
    Re:[Duda] Ejecutar archivo externo de un jar
    « Respuesta #1 en: Junio 04, 2017, 02:35:38 am »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    "Sólo existen dos días al año en los que no se puede hacer nada: ayer y mañana" (Dalai Lama)

    Desconectado GoldenGlory

    • Grado B
    • *
    • Topic Author
    • Mensajes: 306
    • ar
    • Agradecimientos: 67
    • Cronica: : Interlude
    • Revision: 372
    • S.O: Windows 7
    • Serverpack : L2JaCis
    Re:[Duda] Ejecutar archivo externo de un jar
    « Respuesta #2 en: Junio 04, 2017, 06:09:39 pm »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    Encontré esto para ti:
    https://www.mkyong.com/java/how-to-execute-shell-command-from-java/
    Mañana que tengo más tiempo en el trabajo lo voy a leer y tratar de entender! Gracias Kimera