如何中断(用于测试)Java类路径环境变量?
我正在努力理解Java的导入/类路径情况是如何工作的。我想产生一个编译错误,所以我说‘让我试试摆弄Java环境变量’(比如让如何中断(用于测试)Java类路径环境变量?,java,classpath,system-variable,Java,Classpath,System Variable,我正在努力理解Java的导入/类路径情况是如何工作的。我想产生一个编译错误,所以我说‘让我试试摆弄Java环境变量’(比如让Java\u HOME变成JAV\u HOME等等) 但这似乎行不通。一切都很好。我使用drJava有关系吗?我甚至尝试重新启动,但没有成功。摆弄JAVA\u HOME不太可能破坏类路径 JAVA_HOME环境变量主要用于告诉您的代码(如果需要知道)和任何第三方工具JAVA安装的位置。Java安装(例如Java和javac工具)并不关注它。当您运行这些命令时,您会隐式地给
Java\u HOME
变成JAV\u HOME
等等)
但这似乎行不通。一切都很好。我使用drJava有关系吗?我甚至尝试重新启动,但没有成功。摆弄JAVA\u HOME不太可能破坏类路径 JAVA_HOME环境变量主要用于告诉您的代码(如果需要知道)和任何第三方工具JAVA安装的位置。Java安装(例如
Java
和javac
工具)并不关注它。当您运行这些命令时,您会隐式地给出安装的位置。。。它是您正在运行的Java工具的祖父母目录
其次,安装中可能找不到的东西(例如“rt.jar”和“tools.jar”文件)实际上位于“引导类路径”上,而不是常规类路径上。引导类路径由相关工具隐式形成。。。除非通过命令行选项等显式覆盖它
现在我不知道drJava是如何管理它的类路径的。它可能会注意CLASSPATH环境变量,但如果它忽略它,我也不会感到惊讶。(IDE通常根据项目结构等以自己的方式管理类路径。)
如果您想这样做,最好从命令行运行
java
和javac
。对于这些,类路径由-jar
选项(以及jar清单中的内容)、-cp
选项或类路径
环境变量确定。这在java
命令的在线手册中有描述。非常感谢Stephen!