作者:, 软件架构师。 |
你需要了解的关于Java编程工具和API的一切,包括代码和例子。
JDK是构建Java应用程序的开发平台。了解不同的JDK版本,然后在你的开发环境中安装一个JDK并使用它来编译一个Java程序。

IDG / Oracle / Vasabii / Getty Images
目录
- JDK版本和软件包
- 下载 Java SE 的 JDK
- 如何安装 JDK
- 两个关键的Java命令:java和javac
- 编译并运行一个Java程序
- 创建一个JAR文件并将其添加到您的classpath中
- 在你的IDE中的JDK
显示更多
Java开发工具包(JDK)是Java编程中使用的三个核心技术包之一,此外还有JVM(Java虚拟机)和JRE(Java运行时环境)。区分这三种技术并了解它们之间的联系很重要。
刚接触Java的开发者经常混淆Java开发工具包和Java运行时环境。区别在于,JDK是开发基于Java的软件的工具包,而JRE是运行Java代码的工具包。
JRE可以作为一个独立的组件,简单地运行Java程序,但它也是JDK的一部分。JDK需要JRE,因为运行Java程序是开发这些程序的一部分。
图1显示了JDK是如何融入Java应用程序开发生命周期的。
IDG
图1.JDK的高层视图。
在我们继续之前,让我们考虑一下 JDK 的技术定义和日常定义。
- 技术定义。JDK 是Java 平台规范的实现,其中包括编译器和标准类库。
- 日常定义。JDK 是你为了创建基于 Java 的应用程序而下载的一个软件包。
JDK 版本和软件包
在您的开发环境中设置 Java 就像下载 JDK 并将其添加到操作系统的系统路径中一样简单。 对于 Windows 和 macOS,Java 包括一个安装程序,它将为您完成这项工作。
当你下载JDK时,你需要选择你想使用的Java版本。Java 11最近挤掉了Java 8,成为最常用的版本。展望未来,似乎Java 17可能是下一个突出的版本。 Java保持向后兼容,所以我们就下载最新的版本。
在过去,你还必须选择一个Java包。这些是针对不同类型开发的JDK,如Java企业版(Java EE)、Java标准版(Java SE)和Java移动版(Java ME)。现在,企业版的Java库已经迁移到Jakarta EE,这个过程已经改变。你仍然会从Oracle或OpenJDK等实施者那里下载Java SE JDK。如果你需要对企业和云原生应用开发有用的额外工具,那么你可能想下载并安装Jakarta EE。在某些情况下,你可能不需要整个Jakarta EE平台。例如,如果你只需要一个JDK加Servlets,你可以使用标准的JDK加Tomcat,其中包括Servlet API。
下载Java SE的JDK
在这个介绍中,我们将坚持使用 Java SE,这样我们就可以专注于核心 JDK 类和技术。要下载Java SE开发工具包,请访问Oracle的官方下载页面。你会看到各种可用的JDK包,如图2所示。
图2.可用的 JDK 包。
在你选择Java SE下载之前,花点时间看看其他选项。在 Java 厨房里有很多东西要做!
如何安装 JDK
JDK 的安装有两种方式:手动或安装程序。 在手动安装中,您下载二进制文件,将其解压,并将其添加到路径中。这在所有操作系统中都很常见。 你可能知道如何执行这种类型的安装。
安装程序可用于 macOS 和 Windows。当你运行 JDK 安装程序时,你会得到三个组件的选择。开发工具、源代码和公共 JRE。你可以安装其中的一个或全部。在这种情况下,只需选择默认的。
安装 "开发工具"选项会给你提供JDK本身。安装源代码包含核心Java API中公共类的源。包括这个选项允许你在构建应用程序时引用源代码。第三个选项,Public JRE,说明JDK和JRE是独立的实体:其他程序可以使用公共JRE来执行Java程序,并且可以与JDK分开安装。
继续安装所有三个组件,并接受每个组件的默认值。这样做意味着你的JDK和JRE将被安装在操作系统的默认位置。在Windows中,是C:\Program Files\Java\jdk-*
,如图3所示。(在旧版本的Java中,JDK和JRE有单独的目录。 在最近的版本中,它们一起安装在JDK目录中。)
IDG
图 3.已安装的JDK的视图。
两个关键的Java命令:java和javac
JDK内的JRE在你的命令行中添加了java
命令。你可以在命令行中输入java -version
来验证这一点,它应该返回你刚刚安装的 Java 版本。(在某些情况下,你必须重新启动你的系统,使你的系统路径的变化完全生效)。
安装了java
是件好事,但javac
呢?你将需要这个JDK组件来编译你的Java文件。
javac
命令位于/jdk
目录内,在最近的安装程序版本中会自动添加到路径....
一些 IDE 默认包含一个 Java 编译器。如果你愿意,通常可以将它们配置为使用特定的安装版本。
编译和运行一个Java程序
我们先用老式的方法--文本文件和控制台命令--来编译和运行一个Java程序。 这可以让我们很好地了解实际发生的情况。
第一步。编写一个简单的Java程序
创建一个新的文本文件,称为Intro.java
,并把它放在你的计算机上的某个地方,比如你的文档文件夹中。
接下来,添加清单1中的代码,这是一个非常简单的Java程序。
清单1.Intro.java
public class Intro {
public static void main(String[] args) {
System.out.println("Welcome to the JDK!");
}
}
第2步。用JDK编译
接下来,使用JDK编译器将你的文本文件变成可执行程序。编译后的Java代码被称为字节码,并带有.class
。
你将使用javac
命令,将Intro.java
文件作为参数传给该命令。你把我们在清单1中创建的Java文件输入到javac
命令中。在我的系统中,看起来像清单2。(在旧的Java版本中,你需要把命令的完整路径输入到你的命令外壳中,就像注释中的那一行。)
清单2.用JDK编译
javac Intro.java
//"C:\Program Files\Java\jdk-10.0.1\bin\javac.exe" Intro.java
这应该会导致编译成功。javac
不会回复成功信息;它只会输出新文件。任何错误都会导致控制台输出。
第3步。运行.class文件
现在你应该看到Intro.class
文件和Intro.java
在同一目录下。
你可以通过键入来运行它。java Intro
,这将导致清单3中所示的输出。注意,在输入这个命令时,你不包括.class
。
清单3.运行Intro.class
C:\Users\mtyson\Documents>java Intro
Welcome to the JDK!
创建一个JAR文件并将其添加到你的classpath中
javac
是JDK的明星,但/bin
目录包含了你将需要的其他工具。在javac
之后,最突出的可能是jar
工具。
JAR(.jar)文件是一个打包的Java类集。一旦编译器创建了.class
文件,开发者就可以把它们放在一个.jar
,它以一种可预测的方式压缩和构造它们。
让我们把Intro.class
转换为一个.jar
文件。
导航到你放置Intro.java
的目录,然后输入清单4中的命令。
清单4.创建一个JAR文件
C:\Users\mtyson\Documents>"c:\Program Files\Java\jdk-10.0.1\bin\jar.exe" --create --file intro.jar Intro.class
现在你会在目录中看到一个intro.jar
文件。你可以通过把它添加到你的classpath中并执行里面的程序来使用这个.jar
,如图所示。
清单5.将JAR添加到你的classpath中
java -cp intro.jar Intro
-cp
开关告诉Java将jar
添加到classpath中。对于这个小程序来说,一个.jar
文件比我们需要的要多,但随着程序规模的扩大和对第三方包的依赖,它们是不可或缺的。
集成开发环境中的JDK
集成开发环境(IDE)是一种软件,它为开发应用程序提供了一套有凝聚力的工具。可以把集成开发环境看作是一个可视化的操作系统,它包括文件浏览器和文本编辑器,以及代码完成和格式化等特定的开发功能。Eclipse、IntelliJ和NetBeans都是久经考验、功能强大的Java集成开发环境。 微软无处不在的Visual Studio Code(VS Code)是Java应用开发的另一个有力竞争者。
在Java开发中,IDE做的关键事情之一是管理编译。也就是说,集成开发环境在后台自动运行编译过程,这样你就不必不断地自己动手了。集成开发环境还能在你进行开发时提供逐一的反馈,即时捕捉编码错误。
你已经看到了 JDK 在命令行中的工作情况,那么现在让我们快速看看它在 Eclipse 中的工作情况。
Eclipse和JDK
安装Eclipse不在本指南的范围之内,但这是一个简单的过程。Eclipse像其他程序一样包括一个安装程序,你可以在这里找到适合你的操作系统的安装程序。
安装好Eclipse后,从菜单栏中打开Window项目,选择Preferences。
在首选项窗口中,你会看到Java项目。打开它,在里面你会看到编译器项目。点击它将显示JDK的选项。
图4显示了Eclipse中JDK选项的屏幕截图。
图4.Eclipse中的JDK选项。
如前所述,你需要为你的项目选择正确的JDK版本。在引擎盖下,IDE 将运行 JDK 编译器,就像你从命令行中运行它一样。Eclipse IDE 也有自己的 JDK 实例。IDE为你管理JDK和JRE,这让你的生活变得更加轻松
Matthew Tyson是Dark Horse Group, Inc.的创始人。他相信以人为本的技术。在不弹吉他的时候,Matt会去野外和哲学的腹地探险。自2007年以来,他一直为JavaWorld撰写文章。
Copyright © 2022 IDG通信公司版权所有。