我试图了解从命令行编译时选项 -classpath
的工作原理。
我从 mydirectory
的父级尝试:
javac -cp mydirectory/subdir Hello.java
但是编译器说:
javac: no sources files
-cp
(-classpath
) 是如何工作的?我做错了什么?
如果我从 subdir
目录创建它:
javac Hello.java
然后正确编译。
最佳答案
javac TestProgram1.java TestProgram2.java TestProgram3.java
你可以使用通配符来编译一个文件夹中的所有文件,像这样:
javac *.java
如果你需要同时编译很多文件但不想使用通配符(也许你想编译大量文件但不是一个文件夹中的所有文件),你可以创建一个参数文件,其中列出了要编译的文件。在参数文件中,您可以键入任意多个文件名,使用空格或换行符将它们分隔开。这是一个名为 TestPrograms 的参数文件,其中列出了三个要编译的文件:
TestProgram1.java
TestProgram2.java
TestProgram3.java
您可以通过在 javac 命令行中使用@字符后跟参数文件的名称来编译此文件中的所有程序,如下所示:
javac @TestPrograms
-cp 和 -classpath
指定在哪里可以找到用户类文件。如果您的程序使用您存储在单独文件夹中的类文件,请使用此选项。
关于java - 从命令行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17952801/