http://zhidao.baidu.com/link?url=QEPc9sXwf7XSeNjCaqGxUJTbF_liB04AAWPfT_lZuIfIXJW63mQoZLD5a1Fazg64uJsiOVvQJg0ZchmpM4sQnJL3_aFQHJ4C6v0IZMBnw1C
回答这个问题
首先要理解什么是path(环境变量)?
path(环境变量)是dos以前的内部命令,windows继续沿用至今。用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。
然后什么是jdk,jre?
jdk(java development kit),Java开发工具
jre(java runtime environment),Java运行环境
因为java必须经过编译才能运行,编译就要通过常用命令比如:编译javac等
而这些常用的编译命令就存放在jdk的bin目录
而window运行java编译命令的时候,本地查找不到某个命令或文件,会到path中去查找
所以不可能在每个java文件所在目录放置jdk,故把jdk放置path环境变量中,这样每个java文件都可以通过path中设定的jdk目录找到编译命令进行编译
一般设定java的时候为了在任何目录下都可以运行bin文件夹下的命令。就将java的bin目录声明到path中。
编译后的class类就要通过jre运行环境进行运行实现
这只是在文本编辑java时候需要这些,设置环境变量等
如果用开发工具Myeclipse就不需要设置,myeclipse自带jdk,就不需要环境变量
而eclipse启动时候会要求path,方法可以设置path,也可以不设置,不设置方法是:
在eclipse.exe目录里面有一个eclipse.ini文件进行配置
比如
-vm
C:\Java\jre1.6.0\bin\javaw.exe
我的是
-vm
C:\Program Files (x86)\Java\jdk1.6.0_21\bin\javaw.exe
进行设置虚拟机
可以把jdk放在你的eclipse文件夹中,配置它的目录,就不需要依靠本地jdk运行
然后就可以启动了
有点跑题哈
运行中发生什么
比如:
在D:\test目录下有HelloWorld.java(第一个程序输出HelloWorld)
D:\test>:javac HelloWorld.java //javac编译HelloWorld.java文件
首先window找HelloWorld.java文件所在目录中是否有javac命令,有就进行编译,没有找path,按照系统中定义的path目录寻找javac命令,找到进行编译,找不到就报不是外部内部命令错误
D:\test>java HelloWorld //编译通过java HelloWorld运行编译后的文件
首先window找HelloWorld.class文件所在目录中是否有java命令,有就进行运行,没有找path,按照系统中定义的path目录寻找java命令,找到进行运行,找不到就报不是外部内部命令错误
HelloWorld //输出结果
D:\test
这是我手动编辑的,如果理想就是这样子的
再有不清楚的,可以hi我
- 提问者评价
太感谢了!!!
jdk在Windows下为什么要配置环境变量(引用),布布扣,bubuko.com
jdk在Windows下为什么要配置环境变量(引用)