2012-09-21 41 views
5

Tengo un archivo Main.java y quiero ejecutar el programa de pasarlo PRUEBA.TXTHacer un comando de "macro" para ejecutar un programa

Sé que en la línea de comandos que puedo escribir javac Main.java

Después de compilar puedo escribir java Main test.txt y esto a cabo la ejecución del archivo y pasando test.txt

Si quería en lugar de ser capaz de escribir sólo main test.txt y tienen que desencadenan mi archivo Main.class para funcionar es que sea posible y si es así, ¿cómo?

+0

Usted no hizo nada malo. :) Buena pregunta. Sin embargo, probablemente tiene más que ver con elementos específicos del sistema operativo que con Java, ya que es probable que tenga que hacer algunas modificaciones de shell o algo similar. – asteri

Respuesta

1

(Edit: Basado en su comentario, deja que se expanden para añadir un un par de situaciones más)

Si su objetivo es que otra persona ejecute su programa que no tiene instalado Java, y no desea que instale un entorno de ejecución Java antes de ejecutar su aplicación, lo que necesita es un programa que convierte los archivos .class o .jar en un ejecutable nativo para la plataforma que está utilizando. Cómo hacer esto se ha cubierto en otras preguntas, por ejemplo: Compiling a java program into an executable. Esencialmente, utiliza un programa como JCG (Compilador GNU para Java) o Excelsior JET (un producto comercial) para expandir el código de bytes en código nativo completo con un mini JRE integrado.

Si su objetivo es guardar escribiendo , hay una serie de estrategias. Otros han sugerido comandos de alias, que funcionan bien en Linux.

Una opción un poco más portátil que podría enviar con su programa sería un script de shell. Por supuesto, los scripts de shell solo se ejecutan en Linux u otros sistemas operativos con intérpretes de script de shell instalados.

Aquí hay un script de shell de ejemplo. Pegue esto en un editor de texto y guárdelo como principal sin extensio. El $ 1 pasa el argumento del parámetro fyi.

#!/bin/sh 
java Main $1 

suponiendo que el nombre de su script de shell sólo "principal" sin extensión, se podría llamar main test.txt para ejecutar su programa ahora.

Si está en Windows, es posible que desee crear un acceso directo a Windows y apunte el acceso directo a "java Main test.text", utilizando las rutas completas si es necesario (si las rutas no están establecidas). Por supuesto, esto no hace que el parámetro sea fácil de cambiar cada vez que lo ejecuta, tendría que editar el acceso directo.

+0

podría expandir? Debo aclarar que necesito poder hacer que otras personas ejecuten mi programa con main (inserte el archivo que les interese probar aquí) – brucebomber

+0

No soy savy con código de shell ¿hay algo difícil en su solución propuesta? – brucebomber

0

Depende de su sistema operativo. En Linux con el shell bash, por ejemplo, puede configurar un alias para expandir su main en java -cp myjar.jar main.

Linux también se puede configurar para 'comprender' la clase de Java vuela como un formato binario directamente en here (documentación del kernel de Linux).

Si estás en Windows, tendrá que esperar a la respuesta de alguien con más conocimiento acerca de eso que yo

Buena suerte!

+0

También vea [this] (http://stackoverflow.com/questions/1667830/running-a-jar-file-without-directly-calling-java), que apunta a la misma solución. – Faelkle

+1

Puede crear un atajo para pasar 'java.exe' en los parámetros de la línea de comando en Windows. Solo debe asegurarse de que el contexto de inicio apunta al directorio correcto – MadProgrammer

+0

Sí. Para linux/cygwin: OP también debería verificar las secuencias de comandos Groovy shell; pueden ejecutar el código java (+ Groovy) de una manera similar a los scripts de shells normales. Ref .: [Creación de scripts de Unix con Groovy] (http://groovy.codehaus.org/Running). – Faelkle

1

agregar un alias p. bajo un mac editar su .bash_profile con la siguiente línea

alias main='java main' 

no se olvide de abrir una nueva consola para ver sus alias de trabajo

Cuestiones relacionadas