JAVA环境配置详解

步骤:

一下载安装JDK(注意版本)

二配置环境变量

JAVA_HOME:JDK的安装路径

CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

PATH:.;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

JAVA环境配置总结:
JDK:一般有bin,include,jre,lib
一、环境变量:
在系统环境变量中添加D:\JDK\bin和D:\JDK\jre\bin
新建系统变量CLASSPATH值为:.(在cmd中执行命令java Classname时的查找路径)
查看:java,javac,java -version

二、JAVA文件加载
java是通过java虚拟机来解释运行的,也就是通过java命令,javac编译生成的.class文件,就是虚拟机要执行的代码, 称之
为字节码(bytecode), 虚拟机通过 classloader来装载这些字节码。
classloader 从哪里知道java本身的类库及用户自己的类在什么地方呢?
一缺省值(当前路径)
二有一个用户指定的变量来表明,这个变量就是类路径(classpath)
三在运行的时候传参数给虚拟机。
编译的过程和运行的过程大同小异,只是一个是找出来编译,另一个是找出来装载。
实际上java虚拟机是由java luncher初始化的,也就是java(或java.exe)这个程序来做的。
虚拟机按以下顺序搜索并装载所有需要的类:
一引导类: 组成 java 平台的类, 包含 rt.jar 和 i18n.jar 中的类
二扩展类: 使用 java 扩展机制的类, 都是位于扩展目录($JAVA_HOME/jre/lib/ext)中的.jar档案包
三用户类: 开发者定义的类或者没有使用java扩展机制的第三方产品。你必须在命令行中使用-classpath选项
或者使用CLASSPATH 环境变量来确定这些类的位置.
一般来说,用户只需指定用户类的位置,引导类和扩展类是"自动"寻找的。
用户类具体怎么找的?其可能的来源有:
一".", 即当前目录, 这个是缺省值.
二CLASSPATH环境变量, 一旦设置, 将缺省值覆盖.
三命令行参数 -cp 或者 -classpath, 一旦指定, 将上两者覆盖.
四由 -jar 参数指定的 .jar 档案包, 就把所有其他的值覆盖, 所有的类都来自这个指定的档案包中.

进入类所在的目录
使用参数-cp或-classpath
编写脚本

如果你发现正确安装后, 不能正常工作, 就把tools.jar 加入 CLASSPATH, 试一下

三、参数-cp和-classpath
(1).绝对路径:javac -classpath c:/junit3.8.1/junit.jar Xxx.java
(2).相对路径:javac -classpath ../junit3.8.1/Junit.javr Xxx.java
(3).系统变量:javac -classpath %CLASSPATH% Xxx.java (注意:%CLASSPATH%表示使用系统变量CLASSPATH的值进行查找)

java -classpath的使用:
java:假设我们的CLASSPATH设置为:D:\java ,在该目录下有三个文件:
HelloWorld.java :public class HelloWorld
HelloWorldExtendsHelloWorld.java :public class HelloWorldExtendsHelloWorld extends HelloWorld
HelloWorldExtendsTestCase.java:public class HelloWorldExtendsTestCase extends junit.framework.TestCase
假设我们已经按照上面关于javac -classpath和javac 绝对路径的使用,顺利地完成了三个文件地编译。
现在我们在C:/Documents and Settings/peng>目录下执行这三个.class文件

(1).C:\duan>java HelloWorld
Hello World
在系统变量CLASSPATH中指向了目录:D:\java
所以JVM会默认去该目录下加载类文件,而不需要指定.class文件的绝对路径了。
(2).C:\duan>java HelloWorldExtendsHelloWorld
Hello World
HelloWorldExtendsHelloWorld继承了HelloWorld类,所以在执行时JVM会先查找在CLASSPATH下是
否存在一个HelloWorld.class文件,因为我们已经成功编译了HelloWorld 类了,所以可以成功
执行HelloWorldExtendsHelloWorld.class

(3).C:\duan>java HelloWorldExtendsTestCase
Exception in thread "main" java.lang.NoClassDefFoundError: junit/framework/TestCase
提示找不到junit.framework.TestCase文件。因为:junit.framework.TestCase.class文件并不存在于当前目录下(存在%CLASSPATH%\test),所以
为了能够让程序成功运行,必须通过指定CLASSPATH的方式,让JVM可以找到junit.framework.TestCase这个类。
(4). C:\duan>java -classpath %CLASSPATH%\test HelloWorldExtendsTestCase
Hello World
总结:
(1)何时需要使用-classpath:当你要编译或执行的类引用或继承了其它的类,但被引用类的.class文件不在当前目录下时,就
需要通过-classpath来引入类
(2)何时需要指定路径:当你要编译的类所在的目录和你执行javac命令的目录不是同一个目录时,就需要指定源文件的
路径(CLASSPATH是用来指定.class路径的,不是用来指定.java文件的路径的)

时间: 2024-08-25 17:30:54

JAVA环境配置详解的相关文章

Nginx+Tomcat的服务器端环境配置详解

这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.Java JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-Linux-x64.tar.gz ? 1 tar -xzf jdk-7u25-linux

java环境变量详解---找不到或无法加载主类

刚学java,配置好环境变量之后,在DOS下却运行java小程序却始终出现"找不到或无法加载主类"然后返回配置环境变量折腾了好久,查看书籍.网上的资料,最终OK了!安装Eclipse始终出现 "could not find Java SE runtime environment"."could not find java dll"这样的问题,按照网上提供的资料却始终解决不了问题,最后将最新版本的Eclipse换了,才可以用. 以下是安装JDK的总

Kinect学习笔记之三Kinect开发环境配置详解

0.前言: 首先说一下我的开发环境,Visual Studio是2013的,系统是win8的64位版本,SDK是Kinect for windows SDK 1.8版本.虽然前一篇博文费了半天劲,翻译了2.0SDK的新特性,但我还是决定要回退一个版本. 其实我之前一直在用2.0的SDK在调试Kinect,但无奈实验室提供的Kinect是for Windows 1.0版本的,而且Kinect从1.8之后就好像是一个分水岭,就比如win8和win7有很大的差别,2.0版的Kinect和SDK都是相较

Tomcat使用MyEclipse远程调试Java代码配置详解

Tomcat使用MyEclipse远程调试Java代码总结如下:在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步.配置tomcat一.在windows系统中:打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket

关于scala环境配置详解

首先从官网下载适合自身电脑配置的scala安装包.scala下载官网网址:http://www.scala-lang.org/download/ 同时scala还有自己集成好的IDE,例如eclipse, IDEA. http://scala-ide.org/download/sdk.html 按照系统默认,安装scala,安装路径可以自行设置.安装好scala后,系统会自动提示,单击finish,完成安装. 按照系统默认,安装scala,安装路径可以自行设置.安装好scala后,系统会自动提示

华为防火墙NAT模拟环境配置详解(可跟做)

今天主要是做一个基于NAT技术的模拟环境,有关NAT工作原理及概念的大家可以参考博文请https://blog.51cto.com/14156658/2434477 环境如下: 需求如下: 内网客户端可以访问互联网服务器(ping通即可) 互联网客户端可以访问内网服务器(通过FTP访问) 内网服务器可以访问互联网服务器(ping通即可) 开始配置: 服务器及客户端配置如下: 防火墙配置如下: [FW1]int g1/0/0 <!--进入接口--> [FW1-GigabitEthernet1/0

模拟华为设备企业网络环境配置详解(可跟做)

博文目录一.拓扑图如下:1.需求分析 :2.开始配置:3.验证: 一.拓扑图如下: 1.需求分析 : 1)PC1和PC2可以ping通dmz区域的172.16.1.100服务器(web服务器)2)PC1和PC2可以ping通202.16.3.1,需要使用Easy-IP NAT3)202.96.2.1主机使用http协议访问dmz发布到untrust区域服务器的IP地址202.96.1.50 2.开始配置: 内网PC机配置IP地址及网关 SW1配置如下: [S1]vlan batch 10 30

windows下mpi编程环境配置详解(非常详细)

如果成功了,请您顶一下!!!!!谢谢!!!! 下载地址 下载链接 http://www-unix.mcs.anl.gov/mpi/mpich/downloads/mpich2-1.0.5p2-win32-ia32.msi 这里是Windows MPI 最终下载页面的地址,但是不一定一直是 https://www.microsoft.com/en-us/download/details.aspx?id=49926 项目的属性 VC++目录 -包含目录 引用目录 C/C++–预处理器-预处理定义 添

java环境配置及原理详解

java环境配置及原理详解 1.java跨平台的本质 我们谈到java,总是提到跨平台这个词.那么java语言是怎么实现跨平台的呢? 我们编写的java代码不是直接让windows系统读取解析,而是在windows系统中装上java虚拟机(JVM)来读取编写的java软件所以跨平台的实现原理就是在对应平台上装上相应平台能够识别的java虚拟机,用这JVM来读取解析编写的java软件所以java程序是跨平台的,但是JVM不是跨平台的 2.jre和jdk的区别 jre: java的运行环境(包括JV