Как скомпилировать несколько исходных файлов Java в командной строке - PullRequest
45 голосов
/ 26 января 2011

Я знаю, что запуск javac file1.java создает file1.class, если file1.java является единственным исходным файлом, тогда я могу просто сказать java file1, чтобы запустить его.

Однако, если у меня 2 исходных файла, file1.java и file2.java, то как мне собрать программу?

Ответы [ 5 ]

108 голосов
/ 26 января 2011

Попробуйте следующее:

javac file1.java file2.java
70 голосов
/ 26 января 2011

или вы можете использовать следующее для компиляции всех исходных файлов Java в текущем каталоге ..

javac *.java
3 голосов
/ 07 июня 2017

Вот еще один пример компиляции Java-файла во вложенном каталоге.

Я пытался построить это из командной строки. Это пример из 'gradle', который имеет зависимость 'commons-collection.jar'. Для получения дополнительной информации см. Пример « gradle: java quickstart ». - конечно, вы бы использовали инструменты 'gradle' для его создания. Но я подумал расширить этот пример для вложенного java-проекта с зависимым jar.

Примечание: Для этого вам нужен дистрибутив 'gradle binary or source', пример кода находится в: 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
0 голосов
/ 04 июля 2017

ИЛИ вы можете просто использовать javac file1.java, а затем также использовать javac file2.java.

...