java环境变量配置

一:下载安装:JDK(Java Development Kit  Java开发工具包)

下载地址:www.oracle.com
傻瓜式安装,下一步即可。
建议:安装路径不要有中文或者特殊符号如空格等。
当提示安装JRE时,可以选择不安装

二:配置环境变量

在dos命令行中敲入javac,出现错误提示



错误原理:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果还没有找到,就出现以上的错误提示。

所以进入到  jdk安装路径in目录下,执行javac。看到javac参数提示信息。


每次执行java的工具都要进入到bin目录下,是非常麻烦的。
可不可以在任何目录下都可以执行java的工具呢?
根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行的程序。

解决办法:

我的电脑--属性--高级--环境变量
编辑path环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。
打开DOS命令行,任意目录下敲入javac。
如果出现javac 的参数信息,配置成功。
这种配置方式,一劳永逸。

为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成。
•新创建一个环境变量 JAVA_HOME 记录住jdk的目录。
•在path中通过%%动态的获取JAVA_HOME的值即可。
•JAVA_HOME=F:jdk1.6.0_01
•path=%JAVA_HOME%in;%path%
•%path%:动态获取path环境变量的值。
•%JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值。

临时配置环境变量


临时配置方式:通过dos命令中set命令完成
•set :用于查看本机的所有环境变量的信息。
•set  变量名 :查看具体一个环境变量的值。
•set  变量名=:清空一个环境变量的值。
•set  变量名=具体值 :给指定变量定义具体值。
想要在原有环境变量值基础上添加新值呢?
•首先,通过%变量名%操作符获取到原有环境变量的值。
•然后加上新值后在定义给该变量名即可
•举例:给path环境变量加入新值
•set  path=新值;%path%
注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。

Hello World

流程

将Java代码编写到扩展名为.java的文件中。
通过javac命令对该java文件进行编译。
通过java命令对生成的class文件进行运行。

代码

class HelloWorld
{
public static void main(String[] args) 
{
System.out.println("HelloWorld,我是java,呵呵");
}
}

详解

因为一个程序的执行需要一个起始点或者入口,所以在HelloWorld类中的加入public static void main(String[] args){}
对修改后的HelloWorld.java源文件需要重新编译,生成新的class文件后,在进行执行。
发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。
想要和JVM来个互动,只要在main方法中加入一句
System.out.println("HelloWorld,我是java,呵呵");在重新编译,运行即可。

编译

将上面的代码保存至.java后缀的源文件中

有了java源文件,将其编译成JVM可以识别的文件。在dos中通过javac命令
在该源文件目录下,通过javac编译工具对Demo.java文件进行编译。
如果程序没有错误,没有任何提示,但在当前目录下会出现一个Demo.class文件,该文件称为字节码文件,也是可以执行的java的程序。

运行

步骤三:运行
有了可执行的java程序(Demo.class字节码文件)
通过运行工具java.exe对字节码文件进行执行。

若出现提示:缺少一个名称为main的方法。 仔细看看自己代码有没有写错,例如符号是不是半角符号,main等单词有没有拼错

运行时出现的问题

类文件名写错,或者类文件不在当前路径下,或者不再classpath指定路径下。

源文件名不存在或者写错,或者当前路径错误。

编译失败,注意错误出现的行数,在到源代码中指定位置排错。


classpath


既然class文件(字节码文件)是java的运行文件,可不可以实现,在任意目录下都可以执行某一目录下的class文件呢?
根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中。
例:set classpath=c:
classpath变量值是java类文件的目录
path变量是windows程序文件的目录

JVM查找类文件的顺序:

如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。
如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件。
值的结尾处如果加上分号,那么JVM在classpath目录下没有找到要指定的类文件,会在当前目录下在查找一次。
值的结尾出如果没有分号,那么JVM在classpath目录下没有找到要指定的类文件,不会在当前目录下查找,即使当前目录下有,也不会运行。
建议:配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用 “.”表示。














原文地址:https://www.cnblogs.com/znycat/p/4352660.html