有人可以告诉我下面批处理文件代码的含义吗?我知道第一行的含义,因为它设置了当前Framework目录的路径,但我需要第二行和第三行的含义。
cd / d%~dp0Framework
SET CLASSPATH = .. \ Framework *; .. \ Framework。; .. \ Framework \ lib *;
javac -d。 *的.java
暂停
答案 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 .
什么都不做,因为如果那个选项不存在,默认情况下会使用当前目录。