java - 从命令行编译

标签 java command-line compilation

我试图了解从命令行编译时选项 -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/

相关文章:

python - 让cProf只给出10个最耗时的任务或者按照时间倒序对它们进行排序

java - 优化在android上运行youtube视频的方式

java - 在 Java 中读取 PDF 文件 - 没有外部库

command-line - 从命令行提示符打开/关闭蓝牙 Windows 8.1

php - 通过 PHP 进行谷歌云打印

c++ - 如何使用C++ Boost库中的for_each?

java - For循环乘数

java - 必须为此操作提供 PartitionKey 值

c - 使用 popen() 在命令行中打开程序?

clojure - 在浏览器中编辑、编译和运行 Clojure 代码?