文档章节

Windows下安装JDK

j
 javado
发布于 2017/08/30 20:13
字数 1361
阅读 10
收藏 0
JDK

Java Development Kit (JDK): Java 语言的软件开发工具包,开发Java程序最基本的工具包.
下载安装JDK
下载页面http://www.oracle.com/technetwork/java/javase/downloads/index.html
注意:JDK和java EE sdk是不一样的,不要混淆。
JDK安装目录(路径用户自决定):D:\Program Files\Java\jdk1.x.x
JDK的环境变量的设置只需要两个环境变量:一个是(Windows操作系统环境变量)Path,另一个是:classpath

为什么要设置这两个环境变量?
JAVA程序要最终执行, 除了写代码外, 需要经过编译和执行两个步骤.编译和执行分别对应JDK中提供的javac.exe和java.exe两个命令(可在Dos命令行下运行).
设置Path变量是为了让操作系统找到指定的Java工具程序(以Windows来说就是找到javac.exe和java.exe等命令文件).
所以如果不想在DOS下手工运行Java或Javac,可以不设置Path环境变量。或者如果没有设置path环境变量,就需要每次都输入java.exe全路径名来执行它(类似D:\Program Files\Java\jdk1.x.x\java ...)。

javac的作用是将程序员写的Java代码(.java)文件编译成字节码(.class)文件。这个.class文件再由java.exe命令执行.
在DOS下输入java -version回车,如果显示JDK的版本信息则Path变量设置成功。

 
为什么要配置classpath变量?
配置classpath变量,才能使得java解释器知道到哪里去找需要的类文件(包括要执行的类, 引用的标准类库和用户自定义类).标准类库是别人已经写好了的,我们只管使用。比如我们常用到java.lang包中的类,在配置classpath变量后被设为默认导入,所以在写程序时就不用import这个包了。那么这些标准类库在哪呢?在以JDK的lib目录下以jar为后缀的文件中:一个是dt.jar,一个是tools.jar,这两个jar包都位于%JAVA_HOME%/jdk1.x.x/lib目录下(%JAVA_HOME%代表java安装目录),所以通常我们会把这两个jar包加到我们的classpath环境变量的值为:.; C:\Program Files\Java\jdk1.x.x\lib\tools.jar; C:\Program Files\Java\jdk1.x.x\lib\dt.jar;(注意,CLASSPATH最前面是有个 “.”的,表示当前目录。

 (jar文件是zip压缩格式,其中包括若干.class文件),每一路径中间必须以;作为分隔。 事实上JDK 5.0以后默认就会到当前工作目录(上面的.设置),以及JDK的lib目录(这里假设是C:\Program Files\Java\jdk1.x.x\lib)中寻找Java程序。所以如果Java程序是在这两个目录中,则不必设置Classpath变量也可以找得到.

如果不设置 classpath环境变量,又不想在命令行切换到类所在的目录, 则需要用到java命令的-classpath参数.例:
java -classpath F:\sendip\bin;F:\sendip\lib\java_mail.jar com.wzr.SendIp

F:\sendip\bin为执行类所在目录;
F:\sendip\lib\java_mail.jar为引用包所在目录;
com.wzr为执行类所在的包名, SendIp为(包含main函数的)类名.

*****
 如果有2个jar中间还可以用分号(;)分隔,如果有10个jar呢,都写上太麻烦了。这时可以使用java的D参数用-Djava.ext.dirs=路径这种方式来解决
 和上例类似,事先把第三方类库都放到lib下
 java -classpath F:\sendip\bin -Djava.ext.dirs=F:\sendip\lib\ com.wzr.SendIp

 

Path的值设置为你的JDK安装目录的bin目录的路径.作用是让操作系统能找到java.exe和javac.exe等执行程序.

Path:(加入bin路径)D:\Program Files\Java\jdk1.6.0_43\bin
classpath的值则为JDK安装目录下的jre目录下的lib文件夹的路径。作用是当执行类文件时告诉操作系统去哪找类文件.
classpath:(前面一定要加个点--意思是包括当前目录).;D:\Program Files\Java\jdk1.6.0_43\jre\lib
做个HelloWorld.java文件测试一下

public class HelloWorld{
public static void main (String[] args)
{
 System.out.println("Hello World!");

}
}


命令行编译运行:
javac HelloWorld.java
java HelloWorld
输出“Hello World!”就说明JDK安装成功了。

附:
 

Java执行环境本身就是一个平台,执行于这个平台上的程序是已编译完成的Java程序(Java程序编译完成之后,会以.class文件存在)。如果将Java执行环境比喻为操作系统,则设置Classpath的目的就是让Java执行环境找到指定的Java程序(也就是.class文件)。

如果所使用的JDK工具程序具有Classpath命令选项,则可以在执行工具程序时一并指定Classpath。例如:

javac -classpath classpath1;classpath2...其中classpath1、classpath 2是实际要指定的路径。也可以在命令符模式下执行以下的命令,直接设置环境变量,包括Classpath变量(这个设置在下次重新打开命令符模式时就不再有效):

set CLASSPATH=%CLASSPATH%;classpath1;classpath2...总而言之,设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序(.class文件)。 

关于环境变量classpath与class_path的区别
java先找classpath,但是如果找不到的话他会看系统的环境变量class_path

lib\rt.jar 是JDK的核心库


附: 
PATH and CLASSPATH
http://docs.oracle.com/javase/tutorial/essential/environment/paths.html
Setting the class path
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

Classpath (Java)
http://en.wikipedia.org/wiki/Classpath_(Java)

© 著作权归作者所有

共有 人打赏支持
j
粉丝 0
博文 16
码字总数 8049
作品 0
惠州
程序员
私信 提问
安装多个版本的jdk

电脑上装了两个版本的JDK,分别是Jdk1.5u6和Jdk1.6u29,打开命令行窗口,输入 java -version 命令,显示的当前使用Jdk版本号是1.6,由于测试需要将当前JDK环境变量设为1.5,但通过一般的环境...

lwwjing
2016/03/18
152
0
Windows JDK 版本管理器--jvms

介绍 JDK Version Manager (JVMS) for Windows Windows下JDK多版本管理器,类似 nvm, nvmw, rvm jvms下载地址 这对JDK不同版本之间切换是非常有用的。例如,如果你想测试一个项目你想使用最新...

东方星痕
2015/11/09
1K
0
【MAC日常使用】—JDK安装及配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zt15732625878/article/details/83213214 前言 由于工作变动,小编最近吃饭的家伙也换成了 Mac 笔记本,下面来...

大白快跑8
10/20
0
0
jvms 0.0.1 发布,Windows JDK 版本管理器

JDK Version Manager (JVMS) for Windows Windows下JDK多版本管理器,类似 nvm, nvmw, rvm 本软件源于 nvm-windows , 现在是第一版 . 这对JDK不同版本之间切换是非常有用的。例如,如果你想测...

东方星痕
2015/11/09
3.7K
17
jvms 2.0.0 重制版更新,Windows JDK 版本管理器

重写了整个软件, 现在所有操作都在一个exe文件里。 介绍 JDK Version Manager (JVMS) for Windows Windows下JDK多版本管理器,类似 nvm, nvmw, rvm jvms下载地址 这对JDK不同版本之间切换是...

东方星痕
2017/07/24
2.3K
28

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
8分钟前
0
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
14分钟前
0
0
《告诉你真实的美国教育》的读后感3900字

《告诉你真实的美国教育》的读后感3900字: 文章的开篇分析了我们耳熟能详的关于美国教育的小故事,就是那个因为幼儿园的老师教了“0”这个字母,然后妈妈告老师剥夺了孩子的想象力,再然后幼...

原创小博客
22分钟前
0
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
38分钟前
1
0
exportfs命令, vsftp搭建ftp服务

exportfs命令 当修改/etc/exports文件后,更改的内容是不会立即生效的。如果重启nfs服务,会导致客户端重启期间的请求是挂起等待的,可以把客户端的挂载umount进行卸载后,再重启nfs服务,但...

野雪球
48分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部