0

我正在努力了解 Java 的导入/类路径情况是如何工作的。我想产生一个编译错误,所以我说'让我尝试摆弄 Java 环境变量'(比如 make JAVA_HOMEbecomeJAV_HOM等)。

在此处输入图像描述 但它似乎不起作用。一切都编译得很好。我使用 drJava 重要吗?我什至尝试重新启动,但没有这样做。

4

1 回答 1

1

摆弄 JAVA_HOME 不太可能破坏类路径。

JAVA_HOME 环境变量主要用于告诉您的代码(如果需要知道)和 Java 安装所在的任何 3rd 方工具。Java 安装(例如javajavac工具)不关心它。当您运行这些命令时,您隐含地给出了安装的位置……它是您正在运行的 Java 工具的祖父目录。

其次,安装中可能找不到的东西(例如“rt.jar”和“tools.jar”文件)实际上位于“引导类路径”而不是常规类路径中。引导类路径由相关工具隐式形成……除非您通过命令行选项等显式覆盖它。


现在我不知道 drJava 是如何管理它的类路径的。它可能会注意 CLASSPATH 环境变量,但如果它忽略它,我不会感到惊讶。(IDE 通常根据项目结构等以自己的方式管理类路径。)

如果您想进行这样的实验,最好java从命令行javac运行。对于这些,类路径由-jar选项(以及 JAR 清单中的内容)、-cp选项或CLASSPATH环境变量确定。该java命令的在线手册中对此进行了描述。

于 2013-05-01T22:55:38.870 回答