当前位置: 首页 > news >正文

《Java从小白到大牛精简版》之第2章 开发环境搭建

《Java从小白到大牛》纸质版已经上架了!!!
Java从小白到大牛书皮

《论语魏灵公》曰:“工欲善其事,必先利其器”,做好一件事,准备工作非常重要。在开始学习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位安装的文件。

如果你的电脑是Windows 10 64位系统, 则首先选中Accept License Agreement(同意许可协议),然后单击jdk-8u131-windows-x64.exe下载JDK文件。

图2-1
图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-2 安装内容选择对话框

图2-3
图2-3 JDK安装后的内容

2.1.2 设置环境变量

完成之后,需要设置环境变量,主要包括:

  1. JAVA_HOME环境变量,指向JDK目录,很多Java工具运行都需要的JAVA_HOME环境变量,所以笔者推荐大家添加这变量。

  2. 将JDK\bin目录添加到Path环境变量中,这样在任何路径下都可以执行JDK提供的工具指令。

首先需要打开Windows系统环境变量设置对话框,打开该对话框有很多方式,如果Windows 10系统,则打开步骤是:右击屏幕左下角的Windows图标,单击“系统”菜单,然后弹出如图2-4所示的Windows系统对话框,单击右边的“高级系统设置”超连接,打开如图2-5所示的高级系统设置对话框。

图2-4
图2-4 Windows系统对话框

图2-5 
图2-5 高级系统设置对话框

在如图2-5所示的高级系统设置对话框中,点击“环境变量”按钮打开环境变量设置对话框,如图2-6所示,可以在用户变量(上半部分,只配置当前用户)或系统变量(下半部分,配置所有用户)添加环境变量。一般情况下,在用户变量中设置环境变量。

图2-6 
图2-6环境变量设置对话框

在用户变量部分单击“新建”按钮,系统弹出对话框,如图2-7所示。设置“变量名”设置为JAVA_HOME,“变量值”设置为JDK安装路径。最后单击“确定”按钮完成设置。

然后追加Path环境变量,在用户变量中找到Path,双击Path弹出Path变量对话框,如图2-8所示,追加%JAVA_HOME%\bin。注意多个变量路径之间用“;”(分号)分割。最后单击“确定”按钮完成设置。

图2-7 
图2-7设置JAVA_HOME

2-8.jpg 
图2-8添加Path变量对话框

下面测试一下环境设置是否成功,可以通过在命令提示行中输入javac指令,看是否能够找到该指令,如图2-9所示,则说明环境设置成功。

2-9.jpg 
图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按钮开始下载。


图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系统常用快捷键

作用域快捷键功能
全局Ctrl+M最大化/最小化当前视图
全局Ctrl+=放大视图
全局Ctrl+-缩小视图
文本编辑器Ctrl+F查找并替换
文本编辑器Ctrl+L转至某行
Java编辑器Ctrl+Shift+F代码格式化
Java编辑器Ctrl+/注释/取消注释当前行
Java编辑器Ctrl+Shift+M添加导入包
Java编辑器Ctrl+Shift+O组织导入包
Java编辑器Ctrl+Shift+↑转至上一个成员
Java编辑器Ctrl+Shift+↓转至下一个成员
Java编辑器Ctrl+B重新编译Java程序代码
Java编辑器Ctrl+F11运行上次程序

这些快捷键只是冰山一角,想了解更多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。

除了记事本工具外,其他的UltraEdit、EditPlus和Sublime Text等工具都可以与JDK集成起来,能够在这些工具中直接,执行JDK指令。

下面重点介绍一下EditPlus与JDK集成过程。首先,打开启动EditPlus打开菜单“工具”→“首选项”,弹出首选项对话框,如图2-28所示,选择“工具”→“自定义工具”,在“自定义工具组及项目”中选择Group1组。然后通过下面的步骤添加编译和运行菜单。

1. 添加编译菜单

在图2-28所示界面单击“添加工具”→“程序”按钮,添加一个命令菜单。如图2-29所示输入并选择相关项目,其中“菜单文本”中输入是出现在“工具”菜单中菜单名,这里可以根据需要的喜好取名字;“命令”是菜单要执行的JDK指令,这里指定JDK中javac.exe文件路径;“参数”是指,命令后面的参数,这里需要指定要编译的文件名,(FileName)EditPlus(FileName)是带有扩展名的文件名;“起始目录”是命令执行的目录,$(FileDir) 是EditPlus获得文件当前文件目录的系统变量;最后还需要在“动作”中选择“捕获控制台输出”,可以将命令执行结果输出到EditPlus控制台。

2. 添加运行菜单

参考“添加编译菜单”添加过程,添加一个命令菜单。如图2-30所示,在“命令”中指定JDK中java.exe文件路径;“参数”是$(FileNameNoExt) ,表示不带扩展名的文件名。

  注意:编译时指定的Java源代码文件,要带有扩展名,指令类似于javac HelloWorld.java。而运行时不需要指定字节码文件的扩展名,指令类似于java HelloWorld。12

 
图2-28 EditPlus设置参数

 
图2-29 添加编译菜单

 
图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运行菜单

每一种文本编辑工具的配置方式都有很大差别,这里笔者不能一一穷尽,其他工具的配置过程读者可以参考工具的官方资料。

配套视频

http://edu.51cto.com/topic/1246.html

《Java从小白大牛》纸质版:

京东地址

《Java从小白大牛》电子版:

百度阅读地址



相关文章:

  • 面向未来十年的物联网设备安全评估方法集合
  • Java排序之直接插入排序、希尔排序、冒泡排序、快速排序(持续更新)
  • 1-SDK开发初探-8266
  • Tornado异步阻塞解决方案
  • Ansible
  • Windows10 UWP开发 - 响应式设计
  • Hbase万亿级存储性能优化总结
  • linux 查看用户常用命令
  • RESTful API 设计指南
  • mysql 存储过程中使用游标中使用临时表可以替代数组效果
  • MAC Intellij IDEA 常用快捷键
  • day04Java语言基础+
  • 【安全牛学习笔记】vega
  • 关于Android Studio启动后自己的配置
  • 线性回归、岭回归和LASSO回归
  • Angular2开发踩坑系列-生产环境编译
  • Javascript 原型链
  • python_bomb----数据类型总结
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • sublime配置文件
  • windows-nginx-https-本地配置
  • 多线程事务回滚
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 面试总结JavaScript篇
  • 漂亮刷新控件-iOS
  • 前端js -- this指向总结。
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 数据结构java版之冒泡排序及优化
  • 学习HTTP相关知识笔记
  • 一道面试题引发的“血案”
  • 移动端唤起键盘时取消position:fixed定位
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 7行Python代码的人脸识别
  • AI算硅基生命吗,为什么?
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • #{}和${}的区别是什么 -- java面试
  • #define、const、typedef的差别
  • (12)Linux 常见的三种进程状态
  • (4)Elastix图像配准:3D图像
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (Forward) Music Player: From UI Proposal to Code
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (转)EXC_BREAKPOINT僵尸错误
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .dwp和.webpart的区别
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • @javax.ws.rs Webservice注解
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [HackMyVM]靶场 VivifyTech
  • [leetcode 189][轮转数组]
  • [LeetCode] 148. Sort List 链表排序
  • [LeetCode周赛复盘] 第 310 场周赛20220911