什么';终端中javac file.java和javac file*java的区别是什么?

什么';终端中javac file.java和javac file*java的区别是什么?,java,javac,Java,Javac,我想知道命令javac filename.java和javac filename*java之间的区别 这用于运行mapreduce作业 我的终端在代码目录中打开,有3个文件WCount.java,WCountMap.java WCountReduce.javajavac文件。java将编译一个文件“file.java” javac file*java将尝试编译名称以file开头、以java结尾的所有文件 在您的情况下,javac WCount*java将编译所有3个文件,相当于javac WCo

我想知道命令javac filename.java和javac filename*java之间的区别

这用于运行mapreduce作业 我的终端在代码目录中打开,有3个文件WCount.java,WCountMap.java WCountReduce.java

javac文件。java将编译一个文件“file.java”

javac file*java将尝试编译名称以file开头、以java结尾的所有文件

在您的情况下,javac WCount*java将编译所有3个文件,相当于javac WCount.java WCountMap.java WCountReduce.java

但是,要小心,因为Java文件应该以“.Java”结尾。执行javac filename*java可能会尝试编译文件,如filenamejava或filenameXXXjava(不带)。这将引发错误。 因此,最好在模式中使用.java:javac file*.java


干杯

filename*java
匹配所有以
filename
开头,以
java
结尾的文件。这个问题实际上是关于命令shell如何工作的问题。最好是问/回答Stephen C说的话。javac没有实现通配符模式匹配;命令shell扩展了通配符模式,javac最终会收到一个显式的文件列表。不客气,很高兴知道它有帮助,感谢您的反馈。请毫不犹豫地将答案标记为已接受,以便其他面临相同问题的人能够快速确定答案和澄清:)