javac命令行如何在下面的脚本中标记CLASSPATH和-d?

时间:2016-05-25 06:13:26

标签: java batch-file cmd

有人可以告诉我下面批处理文件代码的含义吗?我知道第一行的含义,因为它设置了当前Framework目录的路径,但我需要第二行和第三行的含义。

  

cd / d%~dp0Framework
   SET CLASSPATH = .. \ Framework *; .. \ Framework。; .. \ Framework \ lib *;
   javac -d。 *的.java
  暂停

3 个答案:

答案 0 :(得分:2)

在第二行中,您将设置类File的路径。在第三行中,您使用JDK提供的javac(java Compiler)来编译类文件中的java文件。可以由j -d选项告诉javac运行应该生成类文件的现有目录。但是javac -d . *.java会认为这不是使用javac的正确方法

答案 1 :(得分:1)

该行

  

SET CLASSPATH = .. \ Framework *; .. \ Framework。; .. \ Framework \ lib *;

告诉javac在哪里找到所需的类(依赖于)

-d .将已编译类的目标目录设置为当前目录。请注意.之后有-d。命令行上的.表示当前目录(或DOS中称为工作目录)。如果你说-d c:\tmp(你可能需要尝试c:\\tmp - 我对DOS不太熟悉)并且你实际上有这样一个目录,输出就会去那里。

希望有所帮助。

答案 2 :(得分:1)

我认为批处理文件已损坏。第二行使用未记录的方式指定紧跟名称(..\Framework*)的通配符。有关指定通配符的合法方法,请参阅https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html#A1100762。也许它应该是..\Framework\*?至于第三行,选项-d .什么都不做,因为如果那个选项不存在,默认情况下会使用当前目录。