如何搭建Java开发环境和运行环境?,搭建步骤是什么?
- 物理机
- 2026-08-22
- 2
Java运行环境的搭建核心就是安装JDK并正确配置环境变量,对于绝大多数开发者而言,选择OpenJDK 17作为长期支持版本是当前最稳妥的方案。无论是刚入门的新手还是准备部署项目的运维人员,掌握这套流程不仅能解决“程序无法启动”的尴尬,更是后续所有Java开发工作的基石,本文将从概念区分到实操步骤,带你一次性理清所有关键环节。
JDK与JRE:搞清这两个概念才能对症下药
很多同学在第一步就被这两个缩写搞晕了。JRE(Java Runtime Environment)是运行Java程序的最小环境,而JDK(Java Development Kit)是包含JRE在内的完整开发工具包,JDK里除了有JRE,还提供了javac编译器、jdb调试器等开发必备工具。
如果你只需要运行别人打包好的.jar文件或.war包,装个JRE确实够用,但日常开发和调试过程中,我们几乎总是直接安装JDK,因为JDK完全向下兼容JRE的功能,业内人士常说的“搭建Java运行环境”,实际操作中绝大多数情况指的就是安装JDK并配置环境变量。
一个常见的认知误区是:安装了JDK就万事大吉,如果不配置环境变量,操作系统根本不知道去哪里找java命令,这也是下文要重点解决的问题。
如何选择合适的JDK版本:先看项目再看生态
JDK的版本选择直接影响后续开发和部署的兼容性,别再盲目下载最新版了。
长期支持版与最新版的取舍
行业共识认为,选择长期支持版本(LTS)是生产环境的第一原则,目前主流选择集中在以下版本:
- Java 8(LTS):存量市场的绝对主力,大量老项目的运行基石。
- Java 11(LTS):Oracle等大厂中间件的主流兼容版本。
- Java 17(LTS):当前新项目的首选版本,性能和安全均有大幅提升。
- Java 21(LTS):最新长期支持版,适合全新启动且无历史包袱的项目。
据统计,相当一部分企业在2025年仍然将Java 8作为核心系统的运行版本,这导致java开发环境和运行环境版本选择成了团队协作中的高频讨论话题,如果你的项目需要对接一些老旧系统,或者使用了某些尚未适配新版JDK的第三方库,那么继续使用Java 8是明智的,反之,新启动的微服务项目直接上Java 17能少走很多弯路。
Oracle JDK与OpenJDK的差异辨析
这是一个被反复问及的问题,从JDK 9开始,Oracle JDK和OpenJDK在代码层面几乎没有功能差异,主要的区别在于:
- Oracle JDK:提供长期免费的商业许可(LTS版本),但不接受随意商用,需要开发者仔细阅读许可证条款。
- OpenJDK:完全开源免费,由社区维护,多数情况下是更省心的选择。
如果你不是特别需要Oracle官方的企业级技术支持,直接用OpenJDK即可,日常的绝大多数业务开发场景,两者表现一致。
一步步教你搭建Java运行环境:以Windows为例
这是本文的核心实操部分,Windows环境是最常见的开发机系统,我们以安装OpenJDK 17为例,详细拆解每一个步骤。

第一步:获取JDK安装包
在浏览器中搜索“Adoptium”进入官方下载站点,选择Windows x64的.msi安装包,之所以推荐这个发行版,是因为它提供了完整的安装和配置体验,对新手极为友好。
第二步:执行安装并记住安装路径
双击.msi文件,一路单击“下一步”,这里只需要注意一点:务必记住你的安装路径,默认路径一般是C:Program FilesEclipse Adoptiumjdk-17.0.x.x-hotspot,后续配置环境变量时要用这个绝对路径。
第三步:配置环境变量(核心中的核心)
这一步是大多数初学者最容易犯错的地方,Win11系统右键点击“此电脑”选择“属性”,点击“高级系统设置”,在底部找到“环境变量”按钮,主要涉及两个变量的配置:
新建JAVA_HOME变量(系统变量区域操作)
点击“新建”,变量名输入JAVA_HOME,变量值填入你的JDK安装路径,C:Program FilesEclipse Adoptiumjdk-17.0.x.x-hotspot。
编辑Path变量(核心操作)
在系统变量中找到Path,双击打开编辑窗口,点击右侧“新建”,添加一行内容:%JAVA_HOME%bin。这一步至关重要

,它告诉操作系统去哪里寻找java.exe和javac.exe可执行文件。
请容我在此停顿一下:java环境变量配置JAVA_HOME是保证系统稳定引用JDK的基础,很多同学只改了Path没建JAVA_HOME,短期可能没毛病,但后续安装Maven、Tomcat等工具时会频繁报错,因为那些工具默认去查找JAVA_HOME变量。
第四步:验证是否配置成功
配置完环境变量后,重启命令行窗口(一定要关掉重开,让新变量生效),然后依次输入以下命令:
- 输入 java -version,如果显示类似openjdk version "17.0.x"的信息,说明Java运行时环境已就绪。
- 输入 javac -version,如果显示javac 17.0.x,说明编译工具也正常工作了。
这两行命令的输出,解决了java运行环境是否配置成功这个最直接的问题,如果提示“不是内部或外部命令”,请回头检查Path变量是否填入了%JAVA_HOME%bin,以及JAVA_HOME路径的层层目录是否正确(需精确到包含bin文件夹的那一层)。
跨平台Java环境搭建:Linux服务器实战要点
开发环境搞定后,部署到Linux服务器是必然路径,相比Windows的图形界面,Linux下搭建Java运行环境更依赖命令行操作。
CentOS / Ubuntu系统的通用配置方法
绝大多数现代Linux发行版都可以通过包管理器快速安装,以Ubuntu为例,只需执行:
sudo apt update sudo apt install openjdk-17-jdk
对于CentOS系统,则使用sudo yum install java-17-openjdk-devel。
Linux环境变量配置与Windows的差异
Linux下同样需要配置JAVA_HOME,编辑/etc/profile文件,在文件末尾加入:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
然后执行source /etc/profile让配置立即生效,这里需要留意的是,Linux下配置Java环境变量与Windows的语法完全不同,路径分隔符是冒号而非分号。
部署Java项目时的常见坑
在Linux上部署时,经常遇到两个问题,第一是权限问题,用
java -jar app.jar启动应用时,相关目录需要有写权限,否则会抛出FileNotFoundException,第二是端口被占用问题,多实例部署时记得调整服务端口。
环境变量配置完成后,如何验证你的环境万无一失
配置完不等于万事大吉,跑通一个简单程序才是硬道理。
编译运行一个最小示例
随便新建一个Hello.java如下:
public class Hello { public static void main(String[] args) { System.out.println("环境OK"); } }
在同目录下打开命令行,执行javac Hello.java,如果没报错,会生成一个Hello.class文件,紧接着执行java Hello,终端输出“环境OK”即证明开发环境与运行环境完全畅通。
排查环境异常的通用方法论
如果遇到类似“找不到或无法加载主类”的报错,通常有两个原因:一是classpath设置不当,导致JVM无法定位.class文件;二是.java文件中的类名与文件名不一致,建议初学者先从这两点入手排查。
高频问题速答:关于Java开发环境和运行环境
问:安装JDK时,JRE是必须单独安装的吗?
不需要,JDK内部已经完整集成了JRE的功能模块,单独安装JRE的场景仅限于纯粹的服务器运行环境且不需要本地编译的情况,对于个人电脑的开发用途,装好JDK即可覆盖所有需求。
问:不同版本JDK可以在同一台电脑共存吗?
可以,随着业务多元化,电脑内多版本JDK共存是常态,只需在配置JAVA_HOME时指向当前项目所需的版本,并在Path中引用%JAVA_HOME%bin,切换时修改JAVA_HOME的指向即可。
问:配置好环境变量后,为什么重启电脑有时会失效?
大概率是因为使用了某些“一键优化”或“安全卫士”软件,它们会在后台重置环境变量,建议在系统属性面板中复查JAVA_HOME及Path的持久化状态,改完之后,第二个问题往往出现在第三方工具的代理设置上,比如Maven的镜像配置失效也会引发类似连锁反应,如果坚持手动配置并保留原始安装包路径,在绝大多数情况下都能稳定复现正常的运行状态。