2010-01-20 15 views
8

J'ai créé quelques fichiers .jar (en utilisant la fonction d'exportation d'Eclipse), mais il s'agissait de toutes les interfaces graphiques. Je veux créer un fichier .jar qui est strictement en ligne de commande; Est-ce possible?Fichier java de ligne de commande Java

+1

Bien sûr. Il suffit de l'exécuter depuis la ligne de commande. – jdigital

+0

Ce que je comprends est: Vous voulez double-cliquer sur le fichier .jar et ouvrir une console et interagir à partir de là. Est-ce correct? – OscarRyz

Répondre

4

Oui, il est possible de créer un programme de console en Java. Eclipse a même une exportation de fichiers JAR Runnable.

Je viens de créer une application factice qui imprime les arguments donnés sur la ligne de commande, puis exportée comme un pot et lancé à l'aide 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]); 
    } 
} 

Cliquez ensuite droit sur le fichier Test.java dans Eclipse et utiliser la « Exporter ... » menu et sélectionnez « fichier Runnable JAR » et l'exporter par exemple pour C:\test.jar

Ensuite, ouvrez une invite de commande et tapez java -jar C:\test.jar foo bar qui imprime

foo
bar

8

Il n'y a pas une telle chose comme un "pot GUI" ou un "pot de ligne de commande". Si vous voulez qu'un programme fonctionne sur la ligne de commande, lisez et écrivez les fichiers System.in et System.out ou plutôt les fichiers Swing ou AWT.

Si par contre vous demandez comment créer un pot sur la ligne de commande, la commande n'est pas trop "jar". Comme dans jar cf foo.jar com/my/foo/*.class

+1

Je cherchais pour ce deuxième cas d'utilisation, et bien que je doute que cela ait aidé l'OP, cela m'a sûrement aidé :) – Zlatko

3

Oui, vous pouvez exécuter votre programme avec quelque chose de semblable à ce qui suit la ligne de commande

java -jar <JARFILE> <CLASSNAME> 

Vous pourriez avoir à spécifier -cp <DIRECTORY> ou -classpath <DIRECTORY> au point à tout autre pots dont vous avez besoin.

1

Je ne suis pas sûr de ce que vous demandez, mais tout dépend de votre code.

Si votre code Java utilise JFrame et d'autres composants de l'interface graphique, alors oui, lorsque vous créez le fichier jar, vous aurez un programme graphique.

Si votre code Java imprime simplement sur l'écran sans utiliser de composants graphiques, alors vous aurez une application console.

1

Pour automatiser les choses, je recommanderais d'utiliser le Ant jar task. Une fourmi buildfile ressemble à ceci:

<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> 

Il sera lancé en tapant simplement ant. Eclipse a également un support Ant.

> ant jar 
Buildfile: build.xml 

compile: 

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

BUILD SUCCESSFUL 
Total time: 2 seconds 
Questions connexes