jdk环境变量配置及配置原因
windows下:
一.设置环境变量
变量名:JAVA_HOME
变量值:D:\Program Files\Java\jdk1.6.0 (即jdk安装的位置)
变量名:Path (这个变量名已在系统变量中存在,现只需在这个值的前面添加以下变量值就可以了)
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre7\bin;
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar (.;一定要设置上)
注意:如果使用1.5以上版本的JDK,完全可以不用设置CLASSPATH环境变量,也可以正常编译和运行 Java 程序,当然,即使使用JDK1.5以上版本,也可以设置CLASSPATH环境变量,一量设置了该环境变量,JRE将会按该环境变量指定的路径来搜索Java类。
二.设置环境变量的作用
1,设置JAVA_HOME:
(1).为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
(2).归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
(3).第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.
2,设置CLASSPATH:
2.1基础知识
讲到CLASSPATH,我们首先来看编写java程序时一直在用的两个命令javac和java。
javac的命令语法是这样的:
javac <选项> <源文件>
我们常用的情况是这样的:
javac -classpath <类路径> <要编译的java源文件>
这里的类路径输入什么呢?这里的类路径是指要编译的java源文件中所用的非java的基础API中的类在那个目录下,路径可以是多个目录,用分号隔开来。
比如说我们要编译App.java这个文件,而这个文件中用到了com.util这个包中的MyDate这个类,现在我们假设MyDate这个类存在目录是:
d:\mylib\com\util\MyDate.class,那么我们如何编译App这个类呢?我们的命令如下:
javac -classpath d:\mylib App.java
注意这里的classpath的内容,我们只是指定路径到package所在目录,并不能把package一起指定进去,而且MyDate.class必须在com\util这个目录
中,因为这个类定义了package为com.util。好了现在你对javac中的classpath明白了吗?
我们再来看java这个命令,这个命令的语法是这样的:
java [选项] 类 [参数]
比如说以上面的例子,我们假设App这个类位于com.app这个package中,它的存放目录是:d:\dev\myapp\com\app\App.class,那么我们该如何运
行这个类呢?命令如下:
java -classpath d:\dev\myapp;d:\mylib com.app.App
从命令中我们可以看到,在classpath后面我们指定两个目录,分别是App这个类的package所在的目录和MyDate这个类的package所在的目录,这里的
类路径要给定的是要运行的类和这个类用到的所有类的package所在的目录,多个目录之间用分号隔离开来,最后指定要运行的类的时候必须加上
package。
2.2 classpath变量中 各jar作用
1. rt.jar 默认就在 根classloader的加载路径里面 放在claspath是多此一举(安装外部JRE时就已经加载该classpath了),不信你可以去掉classpath里面的rt.jar,
然后用 java -verbose XXXX 的方式运行一个简单的类 就知道 JVM的系统根Loader的路径里面,不光rt.jar jre/lib下面的大部分jar都在这个路径里
2. tools.jar里面是最基本的工具类,比如javac,是系统用来编译一个类的时候用到的.
javac XXX.java
实际上就是运行 javac -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java
3. dt.jar是关于运行环境的类库,主要是swing的包,如果不用Swing里面的东西,可以不加dt.jar
总结
所以classpath 变量的含义是告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件,.;表示当前路径,tools.jar和dt.jar为 类库路径。如果不用Swing里面的东西,可以不加dt.jar。 tools.jar里面是最基本的工具类,例如javac
3 .设置PATH:
配置path变量作用就是为了使系统在任何路径下都可以识别java,javac命令
jdk环境变量配置及配置原因的更多相关文章
- 未配置jdk环境变量,cmd环境能运行java -version命令
我的情况是C:\Windows\System32路径下有java.exe.javaw.exe.javaws.exe三个文件,将三个文件删除后配置自己的jdk环境变量 可能原因参考帖子:https:// ...
- 配置JDK环境变量,与各步骤的意义
配置JDK环境变量 1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0 (变量值为jdk安装路径) 2,打开P ...
- jdk环境变量的配置并检测是否配置成功
JDK环境变量配置进行java开发,首先安装JDK,安装后进行环境变量配置1,下载JDK(http://java.sun.com/javase/downloads/index.jsp)2.安装jdk- ...
- java环境搭建系列:JDK环境变量详细配置
学习java语言,编写java程序,运行java程序,都离不开Java环境的支持,最重要的就是安装JDK,JDK给我提供了java程序的开发环境和运行环境.为了让java程序放在电脑的任意位置都可以执 ...
- 配置JDK环境变量
•配置JDK环境变量<Windows系统下> 点击我的电脑右键----->属性------>高级------>环境变量-------> 新建(建议在系统变量中新建 ...
- Windows 7下配置JDK环境变量,JAVA环境变量配置,Tomcat服务器的使用
参考来源: http://www.cnblogs.com/pannysp/archive/2012/03/07/2383364.html 1. 常识: 1.1 War包 War包一般是在进行Web开发 ...
- Windows 7下配置JDK环境变量和Java环境变量配置
下面来介绍一下Java环境变量配置,是在Windows 7下配置JDK环境变量. 方法/步骤 1 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Program Fil ...
- MAC OX 配置JDK环境变量
大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...
- jdk环境变量配置方法
jdk环境变量配置方法: 在安装完jdk后,还需要对jdk的环境变量进行配置才能正常使用,下面教大家如何配置jdk环境变量: 1.右键选择 计算机→属性→高级系统设置→高级→环境变量 2.系统变量→新 ...
- ubuntu 配置JDK环境变量
ubuntu 配置JDK环境变量 (2011-11-25 16:45:59) 转载▼ 标签: ubuntu jdk 环境变量 杂谈 分类: Linux_Ubuntu_CentOs 过程如下: 1. 先 ...
随机推荐
- HDU 2066 最短路floyd算法+优化
http://acm.hdu.edu.cn/showproblem.php?pid=206 题意 从任意一个邻居家出发 到达任意一个终点的 最小距离 解析 求多源最短路 我想到的是Floyd算法 但是 ...
- NYoj_171聪明的kk
聪明的kk 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 聪明的"KK" 非洲某国展馆的设计灵感源于富有传奇色彩的沙漠中陡然起伏的沙丘,体现出本国不 ...
- JqGrid 多行表头设置
1.我想要统计的效果是这样的 2.只要在初始化表格中加上如下代码就可以了: jQuery("#tbAbroadStatisticByUnit").jqGrid('setGroupH ...
- callback和spring的MD5加密
举个例子:当我们访问淘宝网站的时候,当点击购物车的时候,这个时候提示用户登录用户名和密码,登录成功后,会返回到购物车的页面.这就是回调. 它不返回淘宝的首页,而是返回到我们点击的内容所在页面. 在写接 ...
- 基于Echarts4.0实现旭日图
昨天Echarts4.0正式发布,随着4.0而来的是一系列的更新,挑几个主要的简单说明: 1.展示方面通过增量渲染技术(4.0+)ECharts 能够展现千万级的数据量 2.针对移动端优化,移动端小屏 ...
- jdbc、Mybatis插入数据主键回显的实现方法
插入数据的时候,往往需要获取主键值.但是有时候主键是自增长的那么,就不太适用手动添加主键值了,此时需要一种可以回显主键参数的方法, 下面以jdbc.mybatis的实现举例 此时使用的是jdbc的话或 ...
- redis常见命令使用
这篇经验主要介绍了Redis常见用的一些操作命令.这篇例子是在windows上操作的.linux类似.写的一些基础,大神就别看了. 工具/原料 redis windows 方法/步骤 1 可以 ...
- php页面zend加密乱码的解决办法
http://www.chinaz.com/program/2008/1021/41485.shtml?qq-pf-to=pcqq.group 今天在服务器部署一个php程序是有zend加密的页面出现 ...
- 【转】Maven pom.xml 配置详解
原文链接:https://yq.aliyun.com/articles/38271 pom.xml文件配置详解 --声明规范 <project xmlns="http://maven. ...
- Python的交叉编译移植至arm板
虽然网上有那么多python的交叉编译移植教程,但是方法差异蛮大,需要根据实际开发板的型号做调整,以下是适用于海思的板子移植过程. step 1. python版本从网上下就可以: step 2. 解 ...