How to compile multiple java source files in command line

JavaBuildJavac

Java Problem Overview


I know running javac file1.java produces file1.class if file1.java is the only source file, then I can just say java file1 to run it.

However, if I have 2 source files, file1.java and file2.java, then how do I build the program?

Java Solutions


Solution 1 - Java

Try the following:

javac file1.java file2.java

Solution 2 - Java

or you can use the following to compile the all java source files in current directory..

javac *.java

Solution 3 - Java

Here is another example, for compiling a java file in a nested directory.

I was trying to build this from the command line. This is an example from 'gradle', which has dependency 'commons-collection.jar'. For more info, please see 'gradle: java quickstart' example. -- of course, you would use the 'gradle' tools to build it. But i thought to extend this example, for a nested java project, with a dependent jar.

Note: You need the 'gradle binary or source' distribution for this, example code is in: '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

Solution 4 - Java

Solution 5 - Java

OR you could just use javac file1.java and then also use javac file2.java afterwards.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlfred ZhongView Question on Stackoverflow
Solution 1 - JavaryanprayogoView Answer on Stackoverflow
Solution 2 - JavaajdukeView Answer on Stackoverflow
Solution 3 - JavahuchView Answer on Stackoverflow
Solution 4 - Javaxt jView Answer on Stackoverflow
Solution 5 - JavaRyan WeilandView Answer on Stackoverflow