java 环境变量

CLASSPATH Classpath设置的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。它的作用与import、package关键字有关,当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:\jdk\ 目录下,你得把c:\jdk\这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java\util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!

path指示java命令的路径,像javac、java、javaw等

java 安装目标文件夹这个意思是:以后classpath的路径文件

环境变量可以和编程语言中的变量进行类比。以Java为例,如果一个变量被定义成为public+static,我们可以将其视为全局变量。但是这个全局是相对的,指的是程序对应进程的这个“全局”,而另外一个Java进程是无法访问这个变量的。对于操作系统定义的环境变量,我们也可以理解为一个全局变量,只不过这个全局的范围是整个操作系统。即只要在这个操作系统上跑的进程都能够访问这个变量。那么,环境变量有什么作用呢?以PATH为例,这是系统搜索可执行程序的路径。正常情况下,我们在cmd上输入javac A.java,实际上就是找到javac这个程序,然后将A.java作为参数传递给javac运行。那么,怎么找到javac这个程序呢?有两种办法,一种就是写入绝对路径。如:C:/jdk/bin/javac.exe A.java。系统可以通过这个路径找到javac,然后启动对应进程。可是,每次输入绝对路径也是挺烦的。于是,操作系统弄了一个叫PATH的环境变量。假设我们配置PATH=C:/jdk/bin,那么当我们在cmd上敲入javac A.java时,系统会在PATH所配置的目录中去寻找javac这个程序,如果能找到,那么程序就正常执行,否则就报错。换句话说,只要我们将PATH配置成一些常用程序的路径,那么就每次在cmd上输入程序名称时就不用输入绝对路径,这个能够省去很多麻烦。下面正式解决题主的问题。理解了上面的基本概念,剩下的就是语法问题了。%JAVA_HOME%可以理解为程序设计语言中对变量的引用。举个例子,我配置了一个环境变量JAVA_HOME=C:/jdk,那么我就可以用JAVA_HOME去指代C:/jdk这个值,而不用每次都写比较烦琐的路径。那么我可以这样用PATH=%JAVA_HOME%/bin,这样等价于C:/jdk/bin。然后因为我们的程序通常都不是放在一个目录下,而是多个目录下,那么怎么去表示多个目录呢?在Windows下,PATH的值可以用;隔开(Linux用的是:),即可以配置多个目录,如PATH=C:/jdk/bin;C:/maven/bin。至于那个“.”,表示的当前工作目录的路径,比如我们配置PATH=.;%JAVA_HOME%/bin,在cmd输入javac,那么操作系统首先会在当前目录下找javac这个程序,找不到的话就去%JAVA_HOME%/bin(即C:/jdk/bin)下找。

转载于:https://my.oschina.net/u/3679580/blog/1539577

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值