在Linux上编译多类Java程序

在Linux上编译多类Java程序,java,compiler-construction,Java,Compiler Construction,到目前为止,我已经能够在Linux中使用终端中的javac命令编译Java程序,但很快我将需要编译一个包含两个或三个类以及main的程序,我不确定这将如何工作 我仍然可以使用javac命令执行此操作吗?是的,只需执行javac*.java(如果您的所有类都在默认包中)。是的,您可以。从OracleJavaC页面 有两种方法可以将源代码文件名传递给javac: 对于少量源文件,只需在命令行上列出文件名即可 对于大量源文件,请列出文件中的文件名,以空格或换行符分隔。然后在javac命令行上使用列表文

到目前为止,我已经能够在Linux中使用终端中的javac命令编译Java程序,但很快我将需要编译一个包含两个或三个类以及main的程序,我不确定这将如何工作


我仍然可以使用javac命令执行此操作吗?

是的,只需执行
javac*.java
(如果您的所有类都在默认包中)。

是的,您可以。从OracleJavaC页面

有两种方法可以将源代码文件名传递给javac:

对于少量源文件,只需在命令行上列出文件名即可

对于大量源文件,请列出文件中的文件名,以空格或换行符分隔。然后在javac命令行上使用列表文件名,前面加一个@字符


理想情况下,您可以使用一个构建系统,如等

如果您只是编译当前工作目录中的类,并且没有使用包,那么您可以非常愉快地使用

$ javac *.java
如果您使用了一些包(并将文件放在了正确的包目录中),您可以使用

$ javac $(find . -name \*.java)
当您访问大量文件时,需要在文件中列出它们,并通过
@
参数引用它们,例如

$ find . -name \*.java > ./java-files.txt
$ javac @./java-files.txt

但最终,构建工具将使生活变得更加轻松。

对于大型项目,您应该考虑自动化构建过程。例如,使用像Maven、Gradle或Ivy这样的构建工具。我会使用像
Maven
这样的构建系统,这将允许您根据需要构建复杂的库并下载库。