一.背景
Sun被Oracle收购后,一会收费,一会免费,感觉市场策略不稳定,准备选择OpenJDK作为长期使用。我的开发机器是“Windows 11 家庭版”,不同windows版本在设置环境变量的界面可能有些许区别,相信看了我的步骤也能设置。
二.具体步骤
1.OpenJDK下载
访问OpenJDK,首页就有下载的链接。明确提示Windows也可以安装。
下载下来190多M。
2.解压jdk
解压路径建议不要有中文或者空格。我的是D:\zsp\tools\jdk-22.0.2,注意多层文件夹重复的问题,bin的上级目录才是真的jdk目录,如下图
3.配置系统环境变量
1)电脑右键选择属性
2)在系统信息界面选择“高级系统设置”
3)在系统属性点击“环境变量”
4)在环境变量新建系统变量java_home
5)编辑系统变量“Path”,加入“%java_home%\bin”和“%java_home%\lib”
最后记得点击多个窗口的“确定”,确认系统环境变量创建过程保存了。
三.OpenJDK安装确认
1.打开cmd
2.输入java -version查看JDK版本
C:\Users\Dell>java -version
openjdk version "22.0.2" 2024-07-16
OpenJDK Runtime Environment (build 22.0.2+9-70)
OpenJDK 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)
3.输入javac可见向后兼容情况
--release 参数说明中,就明确OpenJDK22向后兼容到了java8的
C:\Users\Dell>javac
用法: javac <options> <source files>
其中, 可能的选项包括:
@<filename> 从文件读取选项和文件名
-Akey[=value] 传递给批注处理程序的选项
--add-modules <模块>(,<模块>)*
除了初始模块之外要解析的根模块; 如果 <module>
为 ALL-MODULE-PATH,
则为模块路径中的所有模块。
--boot-class-path <path>, -bootclasspath <path>
覆盖引导类文件的位置
--class-path <path>, -classpath <path>, -cp <path>
指定查找用户类文件和批注处理程序的位置
-d <directory> 指定放置生成的类文件的位置
-deprecation 输出使用已过时的 API 的源位置
--enable-preview 启用预览语言功能。要与 -source 或 --release 一起使用。
-encoding <encoding> 指定源文件使用的字符编码
-endorseddirs <dirs> 覆盖签名的标准路径的位置
-extdirs <dirs> 覆盖所安装扩展的位置
-g 生成所有调试信息
-g:{lines,vars,source} 只生成某些调试信息
-g:none 不生成任何调试信息
-h <directory> 指定放置生成的头文件的位置
--help, -help, -? 输出此帮助消息
--help-extra, -X 输出额外选项的帮助
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-J<flag> 直接将 <标记> 传递给运行时系统
--limit-modules <模块>(,<模块>)*
限制可观察模块的领域
--module <模块>(,<模块>)*, -m <模块>(,<模块>)*
只编译指定的模块,请检查时间戳
--module-path <path>, -p <path>
指定查找应用程序模块的位置
--module-source-path <module-source-path>
指定查找多个模块的输入源文件的位置
--module-version <版本> 指定正在编译的模块版本
-nowarn 不生成任何警告
-parameters 生成元数据以用于方法参数的反射
-proc:{none,only,full} 控制是否执行批注处理和/或编译。
-processor <class1>[,<class2>,<class3>...]
要运行的批注处理程序的名称;
绕过默认的搜索进程
--processor-module-path <path>
指定查找批注处理程序的模块路径
--processor-path <path>, -processorpath <path>
指定查找批注处理程序的位置
-profile <profile>
检查使用的 API 在指定的配置文件中是否可用。
此选项已过时,可能会在未来发行版中删除。
--release <release>
为指定的 Java SE 发行版编译。支持的发行版:8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
-s <directory> 指定放置生成的源文件的位置
--source <release>, -source <release>
提供与指定的 Java SE 发行版的源兼容性。支持的发行版:8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
--source-path <path>, -sourcepath <path>
指定查找输入源文件的位置
--system <jdk>|none 覆盖系统模块位置
--target <release>, -target <release>
生成适合指定的 Java SE 发行版的类文件。支持的发行版:8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
--upgrade-module-path <path>
覆盖可升级模块位置
-verbose 输出有关编译器正在执行的操作的消息
--version, -version 版本信息
-Werror 出现警告时终止编译
一.背景
Sun被Oracle收购后,一会收费,一会免费,感觉市场策略不稳定,准备选择OpenJDK作为长期使用。我的开发机器是“Windows 11 家庭版”,不同windows版本在设置环境变量的界面可能有些许区别,相信看了我的步骤也能设置。
二.具体步骤
1.OpenJDK下载
访问OpenJDK,首页就有下载的链接。明确提示Windows也可以安装。
下载下来190多M。
2.解压jdk
解压路径建议不要有中文或者空格。我的是D:\zsp\tools\jdk-22.0.2,注意多层文件夹重复的问题,bin的上级目录才是真的jdk目录,如下图
3.配置系统环境变量
1)电脑右键选择属性
2)在系统信息界面选择“高级系统设置”
3)在系统属性点击“环境变量”
4)在环境变量新建系统变量java_home
5)编辑系统变量“Path”,加入“%java_home%\bin”和“%java_home%\lib”
最后记得点击多个窗口的“确定”,确认系统环境变量创建过程保存了。
三.OpenJDK安装确认
1.打开cmd
2.输入java -version查看JDK版本
C:\Users\Dell>java -version
openjdk version "22.0.2" 2024-07-16
OpenJDK Runtime Environment (build 22.0.2+9-70)
OpenJDK 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)
3.输入javac可见向后兼容情况
--release 参数说明中,就明确OpenJDK22向后兼容到了java8的
C:\Users\Dell>javac
用法: javac <options> <source files>
其中, 可能的选项包括:
@<filename> 从文件读取选项和文件名
-Akey[=value] 传递给批注处理程序的选项
--add-modules <模块>(,<模块>)*
除了初始模块之外要解析的根模块; 如果 <module>
为 ALL-MODULE-PATH,
则为模块路径中的所有模块。
--boot-class-path <path>, -bootclasspath <path>
覆盖引导类文件的位置
--class-path <path>, -classpath <path>, -cp <path>
指定查找用户类文件和批注处理程序的位置
-d <directory> 指定放置生成的类文件的位置
-deprecation 输出使用已过时的 API 的源位置
--enable-preview 启用预览语言功能。要与 -source 或 --release 一起使用。
-encoding <encoding> 指定源文件使用的字符编码
-endorseddirs <dirs> 覆盖签名的标准路径的位置
-extdirs <dirs> 覆盖所安装扩展的位置
-g 生成所有调试信息
-g:{lines,vars,source} 只生成某些调试信息
-g:none 不生成任何调试信息
-h <directory> 指定放置生成的头文件的位置
--help, -help, -? 输出此帮助消息
--help-extra, -X 输出额外选项的帮助
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-J<flag> 直接将 <标记> 传递给运行时系统
--limit-modules <模块>(,<模块>)*
限制可观察模块的领域
--module <模块>(,<模块>)*, -m <模块>(,<模块>)*
只编译指定的模块,请检查时间戳
--module-path <path>, -p <path>
指定查找应用程序模块的位置
--module-source-path <module-source-path>
指定查找多个模块的输入源文件的位置
--module-version <版本> 指定正在编译的模块版本
-nowarn 不生成任何警告
-parameters 生成元数据以用于方法参数的反射
-proc:{none,only,full} 控制是否执行批注处理和/或编译。
-processor <class1>[,<class2>,<class3>...]
要运行的批注处理程序的名称;
绕过默认的搜索进程
--processor-module-path <path>
指定查找批注处理程序的模块路径
--processor-path <path>, -processorpath <path>
指定查找批注处理程序的位置
-profile <profile>
检查使用的 API 在指定的配置文件中是否可用。
此选项已过时,可能会在未来发行版中删除。
--release <release>
为指定的 Java SE 发行版编译。支持的发行版:8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
-s <directory> 指定放置生成的源文件的位置
--source <release>, -source <release>
提供与指定的 Java SE 发行版的源兼容性。支持的发行版:8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
--source-path <path>, -sourcepath <path>
指定查找输入源文件的位置
--system <jdk>|none 覆盖系统模块位置
--target <release>, -target <release>
生成适合指定的 Java SE 发行版的类文件。支持的发行版:8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
--upgrade-module-path <path>
覆盖可升级模块位置
-verbose 输出有关编译器正在执行的操作的消息
--version, -version 版本信息
-Werror 出现警告时终止编译