【发布时间】:2015-10-11 07:07:20
【问题描述】:
为什么我们需要 Path 和 ClassPath? 使用eclipse之类的IDE时还需要添加路径吗?
【问题讨论】:
-
您可以在 google 中找到许多链接,例如:java67.blogspot.in/2012/08/…、tutorial4us.com/java/difference-between-path-and-classpath 等
为什么我们需要 Path 和 ClassPath? 使用eclipse之类的IDE时还需要添加路径吗?
【问题讨论】:
path 是开发者和操作系统之间的中介,用于通知二进制文件路径 其中 Classpath 是开发人员和编译器之间的中介,用于通知我们源代码中使用的库文件路径
【讨论】:
我们不需要设置PATH和CLASSPATH来编译和运行java程序,同时使用像Eclipse这样的IDE。
这些环境变量是使用 CMD编译和运行 java 程序所必需的。
示例: 这是控制台的屏幕截图,可以快速了解PATH和CLASSPATH
说明-:
编译程序-
我有java程序文件Demo.java存储在位置D:\Programs\Classes。现在我在 CMD 中将位置指向 D:\Programs\Classes 并执行 javac Demo.java 命令。系统将在 PATH 变量的帮助下理解javac。 Java 程序 Demo.java 编译成功,因为 PATH 已正确设置为 %JAVA_HOME%\bin。
运行程序(类文件)-
由于类文件已在同一位置D:\Programs\Classes 生成,因此我们可以通过键入命令 java Demo 来运行该类文件,如屏幕截图中的第二行所示。现在系统将在 CLASSPATH 的帮助下找到类文件,因为我的 CLASSPATH 变量具有 D:\Programs\Classes 路径。
运行它不需要在CMD中指向类文件位置。系统将在PATH变量的帮助下理解java命令和使用 CLASSPATH 变量找到该类来运行它。
【讨论】:
路径指向 jre 的位置,即 java 二进制文件,如 jvm 和必要的库。类路径指向您开发的类,以便 jvm 可以在您运行产品时找到并加载它们。
所以基本上你需要找到 java 的路径,这样它才能找到你的类并从类路径运行它们
【讨论】:
让我们清除点的差异:
路径
a) 一个环境变量,由 操作系统来查找可执行文件。
b) PATH 只不过是设置一个 操作系统环境。操作 系统将在此 PATH 中查找可执行文件。
c) 指系统
类路径
a) 一个环境变量,由 Java编译器查找类的路径,即在 J2EE我们给出了jar文件的路径。
b) 类路径只不过是设置 Java环境。 Java 将使用来查找 编译类。
c) 指发展中的环境。
【讨论】:
PATH 和 CLASSPATH 的主要区别在于 PATH 是一个环境变量,用于定位 JDK 二进制文件,如用于运行 java 程序和编译 java 源文件的“java”或“javac”命令。另一方面,系统或应用程序类加载器使用环境变量 CLASSPATH 来定位和加载存储在 .class 文件中的编译 Java 字节码。
欲了解更多信息:http://www.java67.com/2012/08/what-is-path-and-classpath-in-java-difference.html
【讨论】:
path : 它是 bin 文件的位置(二进制可执行文件) 示例 - java.exe,javac.exe
classPath:它是你的 .class 文件的位置(它是在编译你的 java 源文件后创建的)
【讨论】:
Path 和 Classpath 都是操作系统级别的环境变量。路径用于定义系统可以在哪里找到可执行文件(.exe)文件,类路径用于指定.class文件的位置。
【讨论】:
Difference between path and classpath
Java中路径和类路径的区别
路径设置为在您的 java 程序中使用 java 工具,如 java、javac、javap。 javac 用于编译代码。和类路径用于使用预定义的类 例如,您的程序在您的程序中使用扫描仪类,为此您需要设置类路径。
http://www.tutorial4us.com/java/difference-between-path-and-classpath
【讨论】:
PATH 是我们指定二进制文件位置的环境变量。
示例:我们添加JDK或JRE的bin目录路径,这样目录下的任何二进制文件都可以直接访问,无需指定绝对路径。
CLASSPATH 是您编译的类可用的 Java 应用程序路径。
【讨论】: