第 2 章 开发环境搭建
《论语?魏灵公》曰:“工欲善其事,必先利其器”,做好一件事,准备工作非常重要。在开始学习Java技术之前,先介绍如何搭建Java开发环境是非常重要的一件事。
Oracle公司提供的JDK只是一个开发工具包,它不是一个IDE(Integrated Development Environments,集成开发环境),IDE的开发工具将程序的编辑、编译、调试、执行等功能集成在一个开发环境中,使用户可以很方便地进行软件的开发,Java开发IDE工具有很多,其中主要有:Eclipse、IntelliJ IDEA和NetBeans等。
2.1 JDK工具包
JDK工具包是最基础的Java开发工具,很多Java IDE工具,如:Eclipse、IntelliJ IDEA和NetBeans等都依赖于JDK。也有一些人使用“JDK+文本编辑工具”编写Java程序。
2.1.1 JDK下载和安装
截止本书编写完成为止,Oracle公司对外发布的最新JDK 8。图2-1所示是JDK 8下载界面,它的下载地址是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。其中有很多版本,支持的操作系统有Linux、Mac OS X1、Solaris2和Windows。注意选择对应的操作系统,以及32位还是64位安装的文件。
1苹果桌面操作系统,基于UNIX操作系统,现在改名为macOS。
2原Sun公司UNIX操作系统,现在被Oracle公司收购。
如果的电脑是Windows 10 64位系统,则首先选中Accept License Agreement(同意许可协议),然后单击jdk-8u131-windows-x64.exe下载JDK文件。
图2-1 下载JDK8
下载完成后就可以安装了,双击jdk-8u131-windows-x64.exe文件就可以安装了,安装过程中会弹出如图2-2所示的内容选择对话框,其中“开发工具”是JDK内容;“源代码”是安装Java SE源代码文件,如果安装源代码,安装完成后会见如图2-3所示的src.zip文件就是源代码文件;公共JRE就是Java运行环境了,这里可以不安装,因为JDK文件夹中也会有一个JRE,如图2-3所示的jre文件夹。
图2-2 安装内容选择对话框
图2-3 JDK安装后的内容
2.1.2 设置环境变量
完成之后,需要设置环境变量,主要包括:
JAVA_HOME环境变量,指向JDK目录,很多Java工具运行都需要的JAVA_HOME环境变量,所以笔者推荐大家添加这变量。
将JDKbin目录添加到Path环境变量中,这样在任何路径下都可以执行JDK提供的工具指令。
首先需要打开Windows系统环境变量设置对话框,打开该对话框有很多方式,如果Windows 10系统,则打开步骤是:右击屏幕左下角的Windows图标,单击“系统”菜单,然后弹出如图2-4所示的Windows系统对话框,单击左边的“高级系统设置”超链接,打开如图2-5所示的高级系统设置对话框。
图2-4 Windows系统对话框
图2-5 高级系统设置对话框
在如图2-5所示的高级系统设置对话框中,单击“环境变量”按钮打开环境变量设置对话框,如图2-6所示,可以在用户变量(上半部分,只配置当前用户)或系统变量(下半部分,配置所有用户)添加环境变量。一般情况下,在用户变量中设置环境变量。
图2-6 环境变量设置对话框
在用户变量部分单击“新建”按钮,系统弹出对话框,如图2-7所示。设置“变量名”设置为JAVA_HOME,“变量值”设置为JDK安装路径。最后单击“确定”按钮完成设置。
图2-7 设置JAVA_HOME
然后追加Path环境变量,在用户变量中找到Path,双击Path弹出Path变量对话框,如图2-8所示,追加%JAVA_HOME%bin。注意多个变量路径之间用“;”(分号)分隔。最后单击“确定”按钮完成设置。
图2-8 添加Path变量对话框
下面测试一下环境设置是否成功,可以通过在命令提示行中输入javac指令,看是否能够找到该指令,如图2-9所示,则说明环境设置成功。
图2-9 通过命令提示行测试环境变量
提示 打开命令行工具,也可以通过右击屏幕左下角的Windows图标,单击“命令提示符”菜单实现。
2.2 Eclipse开发工具
Eclipse是著名的跨平台IDE工具,最初Eclipse是IBM支持开发的免费Java开发工具,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会管理。Eclipse的本身也是一个框架平台,它有着丰富的插件,例如C++、Python、PHP等开发其他语言的插件。另外,Eclipse是绿色软件不需要写注册表,卸载非常方便。
2.2.1 Eclipse下载和安装
本书采用Eclipse 4.63版本作为IDE工具,Eclipse 4.6下载地址是http://www.eclipse.org/downloads/,如图2-10所示是Windows系统的下载Eclipse下载页面,单击“DOWNLOAD 64 bit”按钮页面会跳转到,如图2-11所示的选择下载镜像地址页面,单击Select Another Mirror连接可以改变下载镜像地址,然后单击DOWNLOAD按钮开始下载。
3Eclipse 4.6开发代号是Neon(氖气),Eclipse开发代号的首字母是按照字母顺序排列的。Eclipse 4.7开发代号是Oxygen(氧气)。
图2-10 Eclipse 4.6下载页面
图2-11 选择下载镜像地址
下载完成后的文件是eclipse-inst-win64.exe,事实上eclipse-inst-win64.exe是安装各种Eclipse版本客户端,双击eclipse-inst-win64.exe弹出如图2-12所示的界面,选择Eclipse IDE for Java Developers进入如图2-13所示的界面,在该界面中Installation Folder可以改变安装目录,选中create start menu entry可以添加快捷方式到开始菜单,选中create desktop shortcut可以在桌面创建快捷方式,设置完成后单击INSTALL按钮开始安装,安装完成后单击LAUNCH按钮启动Eclipse。
图2-12 安装各种Eclipse版本客户端
图2-13 Eclipse安装
图2-14 Eclipse安装完成
在Eclipse启动过程中,会弹出如图2-15所示,选择工作空间(workspace)对话框,工作空间是用来保存工程的目录。默认情况下每次Eclipse启动时候都需要选择工作空间,如果你觉得每次启动时都选择工作空间比较麻烦,可以选中Use this as the default and to not ask again选项,设置工作空间默认目录。初次启动Eclipse成功后,会进入如图2-16所示的欢迎界面。
图2-15 选择工作空间
图2-16 Eclipse欢迎界面
2.2.2 安装中文语言包
Eclipse界面默认是英文,对于一些初学者英文界面使用起来还是有一定困难的。Eclipse平台提供了一个语言包项目——Eclipse Babel Project(http://www.eclipse.org/babel/),Babel是一个插件,安装Babel插件可以通过离线或在线安装,Babel 插件下载地址是http://www.eclipse.org/babel/downloads.php,如图2-17所示,单击Zipped p2 repository for Neon超链接下载离线包,注意离线包所支持的Eclipse版本。笔者推荐在线安装,从图2-17所示页面中可见在线安装网址是http://download.eclipse.org/technology/babel/update-site/R0.14.1/neon。
图2-17 下载Eclipse语言包
安装插件过程如下,首先启动Eclipse,选择菜单Help→Install New Software弹出如图2-18所示的对话框。单击Add按钮弹出如图2-19所示对话框,在Location中输入插件在线地址http://download.eclipse.org/technology/babel/update-site/R0.14.1/neon,如图2-20所示。
图2-18 安装插件
图2-19 插件地址
图2-20 输入插件地址
确定输入内容后单击OK按钮关闭对话,Eclipse通过刚刚输入的网址查找插件,如果能够找到插件,则出现如图2-21所示对话框,从中选择简体中文语言包。选择完成后单击Next按钮进行安装,安装过程需要从网上下载插件,这个过程需要等一段时间。
图2-21 选择简体中文语言包
安装简体中文语言包插件后重新启动Eclipse,界面如图2-22所示。
图2-22 安装简体中文语言包后Eclipse
2.2.3 Eclipse界面
关闭Eclipse的“欢迎”界面,并创建一个Java工程后(如何创建Java工程将在第3章介绍),可以看到如图2-23所示的主界面。该界面主要分成4个区域:
①号区域是包资源管理器视图,以包形式管理Java源文件,包是一种命名空间将在后面再详细介绍。
②号区域是代码编辑视图,编码工作就是在这里完成的。
③号区域是显示大纲等辅助视图,大纲视图中列出了当前Java类中方法和成员变量,并且单击可以快速导航到指定代码。
④号区域是显示问题、控制台等辅助视图,问题可以列出当前工程的编译错误和警告等问题。
事实上,这4个区域视图都可以互换,只要拖曳视图标题到相应的区域。Eclipse视图标题如图2-24所示,标题的右端有两个按钮:最小化按钮和最大化按钮,单击可以实现视图的最小化和最大化显示。
图2-23 Eclipse主界面
图2-24 Eclipse视图
此外,Eclipse提供了丰富的菜单和工具栏,随着学习的深入本书会有重点地介绍,这里不再赘述。
2.2.4 Windows系统中常用快捷键
一个优秀的IDE开发工具应该提供丰富的快捷键,快捷键虽然不能完全替代鼠标操作,但却可以锦上添花。由于Eclipse工具提供很多快捷键,本书不打算介绍全部的快捷键,笔者总结了一些Eclipse工具在Windows系统常用的快捷键,如表2-1所示。
表 2-1 Eclipse在Windows系统常用快捷键
这些快捷键只是冰山一角,想了解更多Eclipse在Windows系统常用快捷键,读者可以参考http://baike.baidu.com/item/Eclipse快捷键指南。
2.3 其他开发工具
Java IDE开发工具除了Eclipse当然还有很多,其中被广泛认可的还有IntelliJ IDEA和NetBeans,令人惊奇的是它们都源自捷克人之手。
2.3.1 IntelliJ IDEA
虽然IntelliJ IDEA市场份额不如Eclipse,但是被很多Java专家认为是最优秀的Java IDE开发工具。IntelliJ IDEA是Jetbrains公司(www.jetbrains.com)研发的一款Java IDE开发工具,Jetbrains是一家捷克公司,该公司开发的很多工具都好评如潮,如图2-25所示Jetbrains开发的工具,这些工具可以编写C/C++、C#、DSL、Go、Groovy、Java、JavaScript、Kotlin、Objective-C、PHP、Python、Ruby、Scala、SQL和Swift语言。
图2-25 Jetbrains公司工具
IntelliJ IDEA下载地址是https://www.jetbrains.com/idea/download/,如图2-26所示页面可以见,IntelliJ IDEA有两个版本:Ultimate(旗舰版)和Community(社区版)。旗舰版是收费的,可以免费试用30天,如果超过30天,则需要购买软件许可(License key)。社区版是完全免费的,对于学习Java语言社区版已经足够了。在图2-26页面下载IntelliJ IDEA工具,完成之后即可安装了。
图2-26 下载IntelliJ IDEA
IntelliJ IDEA工具使用起来比较复杂,而且用户群少,因此IntelliJ IDEA具体使用细节,本书不再介绍。
2.3.2 NetBeans IDE
NetBeans是一个始于捷克布拉格查理大学的一个学生项目(Xelfi计划),Xelfi计划延伸发展成为NetBeans IDE工具,1999年被Sun公司收购,后来随着Oracle公司收购Sun公司NetBeans IDE成为了Oracle工具产品。
被Oracle收购后NetBeans IDE仍然是免费工具,下载网址https://netbeans.org/downloads/,打开页面如图2-27所示,可以NetBeans IDE支持的平台有Windows、Mac OS X和Linux等,除完全支持所有 Java 平台(Java SE、Java EE、Java ME 和 JavaFX)之外,还支持PHP、HTML5、JavaScript、Groovy和C/C++等语言。在图2-27页面选择适合自己的版本下载NetBeans IDE工具,完成之后需要安装了。
图2-27 NetBeans IDE下载页面
NetBeans IDE工具用户群比较少,因此NetBeans IDE具体使用细节,本书不再介绍。
2.3.3 文本编辑工具
IDE开发工具提供了强大开发能力,提供了语法提示功能,但对于学习Java的学员而言语法提示并不是件好事,笔者建议初学者采用文本编辑工具+JDK学习。开发过程就使用文本编辑工具编写Java源程序,然后使用JDK提供的javac指令编译Java源程序,再使用JDK和JRE提供的java指令运行。
提示 javac和java等指令需要在命令提示行中执行,打开命令行参考2.1.2节。
Windows平台下的文本编辑工具有很多,常用如下:
记事本:Windows平台自带的文本编辑工具,关键字不能高亮显示。
UltraEdit:历史悠久强大的文本编辑工具,可支持文本列模式等很多有用的功能,官网www.ultraedit.com。
EditPlus:历史悠久强大的文本编辑工具,小巧、轻便、灵活,官网www.editplus.com。
Sublime Text:近年来发展和壮大的文本编辑工具,所有的设置没有图形界面,在JSON格式4的文件中进行的,初学者入门比较难,官网www.sublimetext.com。
4JSON(JavaScript Object Notation, JS对象标记) 是一种轻量级的数据交换格式,采用键值对形式,如:{"firstName": "John"}。
除了记事本工具外,其他的UltraEdit、EditPlus和Sublime Text等工具都可以与JDK集成起来,能够在这些工具中直接,执行JDK指令。
下面重点介绍一下EditPlus与JDK集成过程。首先,打开启动EditPlus打开菜单“工具”→“首选项”,弹出首选项对话框,如图2-28所示,选择“工具”→“自定义工具”,在“自定义工具组及项目”中选择Group1组。然后通过下面的步骤添加编译和运行菜单。
添加编译菜单
在图2-28所示界面单击“添加工具”→“程序”按钮,添加一个命令菜单。如图2-29所示输入并选择相关项目,其中“菜单文本”中输入是出现在“工具”菜单中菜单名,这里可以根据需要的喜好取名字;“命令”是菜单要执行的JDK指令,这里指定JDK中javac.exe文件路径;“参数”是指,命令后面的参数,这里需要指定要编译的文件名,$(FileName)是EditPlus获得文件名的系统变量,$(FileName)是带有扩展名的文件名;“起始目录”是命令执行的目录,$(FileDir) 是EditPlus获得文件当前文件目录的系统变量;最后还需要在“动作”中选择“捕获控制台输出”,可以将命令执行结果输出到EditPlus控制台。
图2-28 EditPlus设置参数
图2-29 添加编译菜单
添加运行菜单
参考“添加编译菜单”添加过程,添加一个命令菜单。如图2-30所示,在“命令”中指定JDK中java.exe文件路径;“参数”是$(FileNameNoExt) ,表示不带扩展名的文件名。
注意:编译时指定的Java源代码文件,要带有扩展名,指令类似于javac HelloWorld.java。而运行时不需要指定字节码文件的扩展名,指令类似于java HelloWorld。
图2-30 添加执行菜单
添加成功后会发现EditPlus的工具菜单中多出了两个子菜单,如图2-31所示,Java编译和Java执行。当打开一个源程序HelloWorld.java,可通过单击Java编译菜单(或Ctrl+1快捷键)编写HelloWorld.java,如图2-32所示,编译结果输出到EditPlus控制台;然后通过单击Java执行菜单(或Ctrl+2快捷键)执行编译完成的字节码文件HelloWorld.class,如图2-33所示,运行结果输出到EditPlus控制台。
图2-31 添加后的工具菜单
图2-32 执行Java编译菜单
图2-33 执行Java执行菜单
每一种文本编辑工具的配置方式都有很大差别,这里笔者不能一一穷尽,其他工具的配置过程读者可以参考工具的官方资料。
本章小结
通过对本章的学习,读者可以了解Java开发工具,其中重点是Eclipse工具的下载、安装和使用。此外,还介绍了其他的一些工具:IntelliJ IDEA和NetBeans,以及文本编辑工具EditPlus+JDK的配置过程。