IDE中的类路径

时间:2014-02-24 09:40:02

标签: java ide jvm classpath environment-variables

我正在审查Java中的核心基础知识。我遇到了一个关于classpath的话题。我很困惑这个类路径是什么?它们如何与路径不同?它们如何与环境变量相关?

我在相当长的时间内使用IDE开发Java应用程序。一切似乎都过于自动化和抽象化,以至于某些开发人员看不到像这样的基本内容,至少在我看来。我想学习这些基本的东西来加强我在Java编程语言中的基础。提前谢谢!

1 个答案:

答案 0 :(得分:3)

IDE的一个缺点是它可以通过自动化来“掩盖”语言的一些基础知识,然后当你需要在没有IDE的情况下进行分析时,你会因为它有点卡住始终为您处理该计划的各种元素。因此,尝试掌握语言基础知识绝对是一个好主意,这样您就可以了解IDE的自动化程度。

Classpath通常是字面上的声音,是应用程序使用的类文件的途径。它背后的主要功能是告诉JVM在哪里找到它需要的某些资源。例如,在像Eclipse这样的IDE中,你可以添加外部jar来引用第三方库,它将负责必要的路径设置。如果您通过命令行执行此操作,则需要包含一个classPath,以便以类似于以下的方式告诉JVM所需库的位置:

javac -cp "path/to/lib.jar" MyProgram.java //-cp is set classpath option

您不需要使用'core api'库执行此操作的原因是因为您的计算机上设置了环境变量。操作系统使用环境变量作为存储到各种基本位和bob的路径。例如,在我的环境变量下,我有Path变量:

C:\Program Files\Java\jdk1.7.0_25\bin

这将转到包含可执行文件(如java和javaw)的目录。我怎么认为这个工作(我没有任何明确的资料来源)是当你使用类似的东西编译/运行一个java应用程序时:

java MyApplication or javac MyApplication.java

计算机将在某个时刻检查它的环境变量以查找那些可执行文件,这就是为什么javac在环境变量部分中设置正确的路径后才能工作的原因。一旦找到它就会运行可执行文件。我希望它也可以从这个途径中找到主Java api(rt.jar?)。

我觉得主要区别在于Classpath是在运行/编译时提供的参数,用于为JVM添加额外资源。环境变量是机器上用于各种事物的永久路径,包括告诉PC在哪里可以找到JVM和这是重要的文件。

Oracle确实有关于设置类路径的教程,例如: http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

关于环境变量,此answer链接到有关查看环境变量的文章。

希望这有帮助

祝你好运!