gpt4 book ai didi

java - 为什么在这种情况下 javac 可以编译

转载 作者:行者123 更新时间:2023-12-04 05:13:29 26 4
gpt4 key购买 nike

我的环境是 Windows 7 和 JDK 1.7。

我没有设置CLASSPATH环境变量; echo %CLASSPATH%什么都不输出。

Java 编译器:C:\Program Files\Java\jdk1.7.0_10\binJava 源代码:在 D:\tmpmulu\Tj.java
我运行如下命令:

C:\>"C:\Program Files\Java\jdk1.7.0_10\bin\javac.exe" -cp d:\tmpmulu\ d:\tmpmulu\Tj.java

它有效。该命令设置类路径并编译文件。

但是当我将命令更改为使用 . 时而不是 d:\tmpmulu\作为我的类路径:
C:\>"C:\Program Files\Java\jdk1.7.0_10\bin\javac.exe" -cp . d:\tmpmulu\Tj.java

也没关系。

这让我很困惑。 .表示当前路径,应该是 c:\ .它是如何成功运行的?

另一个问题是如下命令:
C:\>"C:\Program Files\Java\jdk1.7.0_10\bin\javac.exe" -cp d:\tmpmulu\ Tj.java

按照我的想法,类路径设置为 d:\tmpmulu\ ,它应该找到 Tj.java文件。但结果是“找不到文件 Tj.java”。

谁能告诉我详情?

最佳答案

好吧,大概您的代码基本上不依赖于类路径中的任何内容。如果它只使用 JDK 中的类,那绝对没问题。

请注意,类路径仅用于查找类文件 - 而不是源代码。这解释了当您的源路径不在类路径上时没有失败,以及当您尝试使用类路径来定位 Tj.java 时失败的原因。 .

关于java - 为什么在这种情况下 javac 可以编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14605719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com