作为开年的第一篇Blog,比往年稍微来的更晚了一些!但是也丝毫不影响继续前进的脚步。好了,进入正题。作为一个java菜鸟来说,首先主要的就是来安装配置自己的java的环境。很少写这样类似教程的博客,主要是想总结一下自己在配置和安装过程中可能出现的问题及为什么这么去做的原因。

 

软件的安装


第一步:.java development kit(简称JDK),也就是java的软件开发包。的下载和安装

 

JDK的最新版本:1.7.0_45

http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-7-sdk-with-jdk-u45-2066865.html


 

在安装过程中,尽量安装到不含空格的文件路径中。当含有空格的时候,可能在以后运行一些java应用程序的时候就会报出这样的错误---“c:\Program” 不是内部或外部命令。这样就是因为path的环境变量的配置问题了,这样也是可以解决的。一个是在环境变量设置的时候用特殊字符给他替换掉,另外一个就是在写代码的时候用双引号给有空格的路径给它引起来。我们打开jre的安装目录,可以看到jdk已经为我们安装了一个jre(java的运行环境。)留下伏笔,在下面会有解释。


 

java软件开发安装到注册表里 java软件安装的注意事项_java软件开发安装到注册表里

例如:"%java_home%"\bin\java或者 "C:\Program Files"\Java\jdk1.5.0_09\bin\java

 

 

第二步:.java runtime environment(简称JRE),也即是java的运行环境。在上面我们已经安装好了jdk,在程序安装完成后会提示我们安装jre。直接安装就可以了。


jre和jdk:jre是java的运行环境;而jdk是java的开发包也就是开发环境。jre呢?就类似我们在电脑上安装的各种虚拟机,来运行各种的文件安卓啊java等。

好了,问题来了。为什么会安装两个jre呢?这是因为在jdk里面各种的工具都是由java来编写的,也就是java应用程序,需要jdk所附带的工具来运行。从上图我们可以看到,存在在jdk安装文件下的jre就是来运行jdk里面自带的java工具的一般java应用程序使用的。


java软件开发安装到注册表里 java软件安装的注意事项_环境变量_02

  

配置环境变量


1.path

D:\Program Files\svnserver\bin;C:\Program Files\VisualSVN\bin 截取了部分的path内的字段。我们可以看到都是指向应用程序执行的运行目录,所以我们应该猜到path就是应用程序的运行目录。有时候会看到这样的字符串"%Java_home%",这里的百分号表示的是引用的意思。引用java_home中的环境变量。

我们打开我们的环境变量,是看不到我们jdk的环境变量的。所以当我们执行java的命令的时候,系统是找不到命令的。我们将安装文件的bin路径配置到环境变量中如下:

C:\jdk1.7.0_45\bin;



java软件开发安装到注册表里 java软件安装的注意事项_运维_03


2.classpath






它的值也是由目录组成,它的作用在于告诉Java执行环境,在哪些目录下可以找到所要执行的Java程序所需要的类或者包。比如我要运行一个名为Test.class的文件,而这个程序调用了另一个test2.class文件的内容,那么系统必须知道test2.class文件的位置才能调用Link.class文件。如果Link.class文件的目录在classpath环境变量的值中,就可以找到了。一般只用设置为“.”;既可以了,表示当前目录。


3.JAVA_HOME






这个环境变量在初学的时候一般是不用配置的,因为我们开始的时候就只用一个jdk版本。这样直接写在path目录里面就可以了。而当我们需要更新jdk的版本,需要另外安装一个版本的jdk的时候。用这个起来就方便多了,也降低了修改环境变量时出错的可能。这是为什么呢?

大家知道JAVA_HOME是我们手动添加的,这个里面的路径放置的也是jdk的安装路径。这样在path只用写上%java_home%\bin就可以了,以后更换jdk的安装目录只用修改JAVA_HOME就可以了。是不是有点解耦的意思,这样不用去更改path,减少了出错的机会。


实例验证

 

 

java软件开发安装到注册表里 java软件安装的注意事项_java_04

总结


其实这些内容,都是一些非常基础的东西。然之所以然、然知所以不然而然也!。所以这个“然而然”也很重要,往往才能真正的了解为什么这么去做?对于学习的理解才能透彻,也就不会忘了。