web-dev-qa-db-fra.com

Comment compiler plusieurs fichiers source Java en ligne de commande

Je sais que courir javac file1.Java produit file1.class si file1.Java est le seul fichier source, je peux simplement dire Java file1 pour l'exécuter.

Cependant, si j'ai 2 fichiers sources, file1.Java et file2.Java, comment puis-je générer le programme?

43
Alfred Zhong

Essayez ce qui suit:

javac file1.Java file2.Java
104
ryanprayogo

ou vous pouvez utiliser ce qui suit pour compiler tous les fichiers source Java du répertoire en cours.

javac *.Java
65
ajduke

Voici un autre exemple, pour compiler un fichier Java dans un répertoire imbriqué.

J'essayais de construire cela à partir de la ligne de commande. Ceci est un exemple tiré de 'gradle', qui a la dépendance 'commons-collection.jar'. Pour plus d’informations, consultez l’exemple ' gradle: Java quickstart '. - bien sûr, vous utiliseriez les outils 'gradle' pour le construire. Mais j'ai pensé étendre cet exemple, pour un projet Java imbriqué, avec un fichier jar dépendant.

Remarque: Vous avez besoin de la distribution 'gradle binary or source' pour cela, le code exemple est dans: 'samples/Java/quickstart'

% mkdir -p temp/classes
% curl --get \
    http://central.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar \
        --output commons-collections-3.2.2.jar

% javac -g -classpath commons-collections-3.2.2.jar \
     -sourcepath src/main/Java -d temp/classes \
      src/main/Java/org/gradle/Person.Java 

% jar cf my_example.jar -C temp/classes org/gradle/Person.class
% jar tvf my_example.jar
   0 Wed Jun 07 14:11:56 CEST 2017 META-INF/
  69 Wed Jun 07 14:11:56 CEST 2017 META-INF/MANIFEST.MF
 519 Wed Jun 07 13:58:06 CEST 2017 org/gradle/Person.class
3
0
xt j