文档章节

Windows下安装JDK

j
 javado
发布于 2017/08/30 20:13
字数 1361
阅读 9
收藏 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
惠州
程序员
Linux安装JDK、Tomcat、部署Java项目详情

1.在windows安装远程工具 我们远程访问windows服务器可以使用windows自带的远程工具,但是远程访问Linux需要下载辅助工具,我使用的是XShell,网上下载即可。安装成功后,界面如下: 在主机栏...

leo187的博客
2017/12/22
0
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
jvms 0.0.2 发布,Windows JDK 版本管理器

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

东方星痕
2015/12/03
2.7K
13
jvms 0.0.1 发布,Windows JDK 版本管理器

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

东方星痕
2015/11/09
3.6K
17

没有更多内容

加载失败,请刷新页面

加载更多

打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
3
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
3
0
一个手机装天下,走遍中国都不怕!

导读 “1200元(人民币,下同),微信支付,可以,你扫我。”来自西非马里共和国的展商Albert拿着手机,和一位买走他手鼓的中国游客用简单的汉语交流着。 近日,“第十四届中俄蒙经贸洽谈暨商品...

问题终结者
昨天
2
0
Redis的“死键”问题

大规模的数据库存储系统中,数据的生命周期管理是很有必要的;从业务角度发现过期数据,数据归档和数据碎片整理等。以MySQL为例,1个运行很久的TB级MySQL实例中,极有可能数百GB的数据,对业...

IT--小哥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部