2010-01-20 16 views
8

He creado algunos archivos .jar (utilizando la función de exportación de Eclipse), pero todos eran GUI. Quiero crear un archivo .jar que sea estrictamente de línea de comandos; ¿es posible?Java Command Line Jar Archivo

+1

Sure. Simplemente ejecútalo desde la línea de comando. – jdigital

+0

Lo que 'entiendo es: desea hacer doble clic en el archivo .jar y abrir una consola e interactuar desde allí. ¿Es esto correcto? – OscarRyz

Respuesta

4

Sí, es posible crear un programa de consola en Java. Eclipse incluso tiene una exportación de archivo JAR ejecutable.

acabo de crear una aplicación ficticia que imprime los argumentos dados en la línea de comandos, luego se exportan como un frasco y lo lanzó usando java -jar test.jar foo bar

package com.stackoverflow; 

public class Test 
{ 
    public static void main(String[] args) 
    { 
    for (int i = 0; i < args.length; ++i) 
     System.out.println(args[i]); 
    } 
} 

A continuación, haga clic derecho en el archivo Test.java en Eclipse y utilizar el "Exportar ..." y seleccione "archivo JAR Ejecutable" y exportarlo por ejemplo a C:\test.jar

a continuación, abra un símbolo del sistema y escriba java -jar C:\test.jar foo bar que imprime

foo
barra

8

No hay tal cosa como un "frasco de interfaz gráfica de usuario" o un "frasco de línea de comandos". Si desea que un programa funcione en la línea de comando, entonces lee y escribe desde System.in y System.out o archivos en lugar de usar Swing o AWT.

Si, por otro lado, está preguntando cómo crear un jar en la línea de comandos, el comando es, no sorprendentemente, "jar". Al igual que en jar cf foo.jar com/my/foo/*.class

+1

Estaba buscando en Google este segundo caso de uso, y aunque dudo que haya ayudado al OP, seguro que me ayudó :) – Zlatko

3

Sí, puede ejecutar su programa con algo parecido a la siguiente línea de comandos

java -jar <JARFILE> <CLASSNAME> 

Es posible que tenga que especificar -cp <DIRECTORY> o -classpath <DIRECTORY> señalar que en cualquier otro tarros que necesita.

1

No estoy seguro de lo que está preguntando, pero todo depende de su código.

Si su código Java usa JFrame y otros componentes de la GUI, entonces sí, cuando crea el contenedor tendrá un programa GUI.

Si su código Java simplemente se imprime en la pantalla sin usar ningún componente de la GUI, entonces tendrá una aplicación de consola.

1

Para automatizar las cosas, recomendaría usar el Ant jar task. una hormiga BuildFile se ve así:

<project default="buildHello"> 
    <target name="compile"> 
    <javac srcdir="." /> 
    </target> 

    <target name="jar" depends="compile"> 
    <jar destfile="hello.jar" 
     basedir="." 
     includes="**/*.class" 
     /> 
    </target> 

    <target name="buildHello" depends="compile,jar" /> 
</project> 

Se comenzó con sólo escribir ant. Eclipse también tiene soporte Ant.

> ant jar 
Buildfile: build.xml 

compile: 

jar: 
     [jar] Building jar: /Dev/hello.jar 

BUILD SUCCESSFUL 
Total time: 2 seconds 
Cuestiones relacionadas