如何在命令行中编译多个java源文件

Alf*_*ong 47 java build javac

我知道运行javac file1.java生成file1.classif file1.java是唯一的源文件,然后我可以说java file1运行它.

但是,如果我有2个源文件,file1.java以及file2.java,那我怎么构建程序?

rya*_*ogo 113

请尝试以下方法:

javac file1.java file2.java
Run Code Online (Sandbox Code Playgroud)

  • 没问题.你应该把它标记为'接受' (49认同)
  • @AlfredZhong老实说,请将答案标记为已接受. (4认同)

ajd*_*uke 71

或者您可以使用以下命令编译当前目录中的所有Java源文件.

javac *.java
Run Code Online (Sandbox Code Playgroud)

  • 不,它不是递归的。 (6认同)
  • * 是通配符的符号。意思是这个目录下所有以“.java”结尾的东西 (2认同)

huc*_*uch 5

这是另一个示例,用于在嵌套目录中编译 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
Run Code Online (Sandbox Code Playgroud)