news 2026/9/9 9:34:16

IntelliJ IDEA新手入门:从JDK配置到第一个Java项目跑通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IntelliJ IDEA新手入门:从JDK配置到第一个Java项目跑通

打开IntelliJ IDEA,你看到的是一个满屏按钮的工具,Java写到一半,编译报错、运行不起来、依赖拉不下来,被环境折腾到怀疑人生。这篇文章不打算讲那些花里胡哨的插件和骚操作,就从“创建第一个Java工程项目”这件事入手,把IDEA的常用配置和使用技巧一步步拆开,拿给你。不管你是刚接触Java,还是从Eclipse、VS Code切过来的老手,这套流程我都按实际踩过的坑来写,保证你看完能顺利跑出第一行Hello World。

先说清楚这篇文章能解决什么问题:装好了IDEA但不知道从哪下手、新建项目时一堆选项看不懂、运行程序报错不知道去哪查、默认配置用着别扭。这些都是刚上手IDEA最常见的情况。题外话一句,如果你还在找所谓的“IDEA特别版安装包”,我建议直接放弃,IDEA Community版(社区版)完全够用,而且免费。破解版不止有版权风险,还经常附带脚本、木马,IDEA的授权检测越来越严格,用着用着就被封,得不偿失。老老实实去官网下个官方版,配合社区版或者公司采购的正版授权,比什么都安心。

1. 写代码之前,先把环境这关过了

1.1 别急着装IDEA,先确认你的JDK

很多人卡在第一步,不是IDEA装不上,而是电脑上压根没有JDK,或者装了好几个版本,环境变量一团糟。IDEA只是一个编辑器,真正能把Java代码编译、运行起来的是JDK(Java Development Kit),翻译过来就是Java开发工具包。你可以把IDEA理解为“写字的纸和笔”,JDK则是“印字的机器”,没有后面这台机器,写再多字也变不成可运行的程序。

JDK的安装有几个点要注意。

第一个是版本选择。现在Oracle JDK和OpenJDK在普通开发场景下基本没区别,推荐直接用OpenJDK,比如Adoptium(也就是以前的AdoptOpenJDK)编译出的版本,免费、长期支持、没有商用授权风险。版本号上,建议Java 8、Java 11、Java 17、Java 21这几个LTS长期支持版本里选一个。很多公司老项目还在用Java 8,但新上手学习的话,Java 17或Java 21更好,语法更现代,IDEA支持也更完善。如果条件允许,直接上Java 21,目前的主流框架都兼容。

第二个是环境变量。Windows下安装完JDK后,需要手动配置两个环境变量:JAVA_HOME和PATH。JAVA_HOME指向JDK安装目录,比如C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13,PATH里加一条%JAVA_HOME%\bin。配置完成后,打开命令行窗口,输入java -version,能打印出版本信息就说明环境正常。

提示:不要图省事把JDK装在带中文或空格的路径下,比如D:\软件\Java\jdk,有些老工具不认中文路径,后面排查问题会让你崩溃。装到纯英文路径,少给自己找事。

1.2 IDEA版本怎么选:社区版还是旗舰版

IDEA有两个主要版本:社区版(Community)和旗舰版(Ultimate)。很多人一上来就纠结这个,我直接说结论:学习Java SE、做Java后端开发的基础功能,社区版足够了;你要用Spring Boot、JavaEE、数据库工具、前端混开这些高级功能,才考虑旗舰版。

社区版是免费的,支持Java、Kotlin、Groovy这些语言,也可以装Maven、Gradle插件,写基本的Java工程完全没问题。但注意,社区版不支持Spring框架的专门支持(虽然能通过插件部分弥补)、不支持直接连数据库的Database面板(需要手动配数据源插件)。如果你只是跟着教程写Java基础、数据结构、算法题,社区版妥妥的够用。

旗舰版是收费的,有30天试用期。如果你在公司上班,公司购买过授权,直接用公司账号激活就行。学生的话,用学校邮箱可以在JetBrains官网申请免费的教育授权,全系列产品随便用。不要在网上乱找激活码,那玩意三天两头被封不说,还容易带上恶意脚本。

1.3 安装IDEA时的几个细节

在官网下载对应系统的安装包,Windows下选exe那个,双击安装。

安装的时候有几个选项值得注意:

  • 选择安装路径,照样避免中文目录;
  • 勾选“创建桌面快捷方式”和“添加到PATH”这两个,后面会用到;
  • 勾选“将文件夹打开方式加入右键菜单”,以后右键文件夹就能直接用IDEA打开;
  • 关联.java文件可选可不选,没必要强求。

还有一点,IDEA本身是Java程序,新版安装包会自带一个JBR(JetBrains Runtime),所以你电脑上没装JDK,IDEA也是能打开的。但打开归打开,你新建工程写代码的时候,编译器还是会去找系统里的JDK。所以JDK装没装,IDEA自己能跑不代表万事大吉。

2. 第一次打开IDEA,先把这些配置调好

2.1 首次启动的设置引导,别一路狂点下一步

第一次打开IDEA,它会弹出一个“Complete Installation”的选择框,问你是否要导入之前版本的配置。如果是新装,直接选“Do not import settings”就好。接着是主题选择,Light(白)和Darcula(黑)二选一,这个后面在设置里也能改,选哪个都不影响使用。

真正值得注意的是后面让你“安装插件”的步骤。IDEA默认会推荐一堆插件,但建议你这次先别装太多。初学阶段,保持干净最好,后面按需再装。否则新手容易陷入“装插件半小时,写代码五分钟”的怪圈,一步步点过去,先进入界面最关键。

进入主界面后,别急着新建项目,先把几个关键配置项调好,后面省事很多。

2.2 全局JDK配置:让所有工程用同一个JDK

打开IDEA后,按快捷键Ctrl+Alt+S进入设置界面(macOS是Cmd+,),左侧搜“JDK”或者找到Build, Execution, Deployment -> Compiler -> Java Compiler,这里能看到当前工程的字节码版本,但更关键的是在File -> Project Structure(快捷键Ctrl+Shift+Alt+S)里配置。

Project Structure这个窗口,你会发现有Project、Modules、Libraries、Facets、Artifacts好几栏。第一次看容易懵,我就挑最常用的跟你说。

Project标签页下,SDK这一项,点击新建,选择你的JDK安装路径,指定到jdk-21这样的目录;Language Level选择对应的版本,比如21。这样设置完之后,整个工程的编译运行都会基于这个JDK。

2.3 编码、字体、快捷键这些基本盘

进到设置里的Editor -> File Encodings,把Global EncodingProject EncodingDefault encoding for properties files三项全部改成UTF-8。别小看这个设置,Java源文件只要编码不一致,中文字符串就有可能变成乱码。到后面跟同事协作、在Linux服务器上部署,字符集问题会反复找上门。提前统一UTF-8,是最便宜的一种防坑手段。

然后是字体。IDEA默认字体在低分辨率屏幕上偏小,看着累。在Editor -> Font里把字体调成18或者20(这个看个人,别调太大,代码一屏显示的行数就少了),推荐字体是JetBrains Mono或者Consolas,等宽字体在代码里对齐效果好。如果你经常看英文注释,这个体验会好不少。

快捷键这块,默认的Keymap是Windows风格,对大部分从Eclipse过来的人可能需要适应一下,但建议直接练熟IDEA默认键位就好,不要特地去改成Eclipse风格。网上很多教程的手速肌肉记忆都是IDEA默认键位的,换了反而看谁的教程都对不上。后面我列一个高频快捷键表,你照着练就成了。

3. 创建第一个Java工程,跟着做就行

3.1 新建工程的完整流程

准备就绪,开始正式创建第一个Java工程项目。

在IDEA欢迎页或主界面上,点New Project,会弹出一个向导窗口。窗口左侧列了一堆项目类型:Java、Maven、Gradle、Spring Boot、Jakarta EE等等。新手建议选Java(或者选Maven也行,但那时你还没装Maven,先选纯Java更简单),点之后顶部会出现Project SDK下拉框,如果之前配置过全局JDK,这里会自动选上;没选上的话,手动选到对应JDK版本。

再往下,有Build System选项,IntelliJ、Maven、Gradle三个可选。第一次创建纯Java项目,选默认的IntelliJ内置构建就行,不牵扯额外工具;等以后学了Maven再转过去,也很顺。

接着填项目信息:

  • Name:项目名,比如my-first-java-project,建议小写字母加横线,不要用中文。
  • Location:项目保存路径,同样纯英文路径。
  • Create Git repository:如果你知道Git是什么并且想用,可以勾选;不知道就忽略,不影响的。

点击Create,IDEA会花几秒钟初始化工程结构。第一次创建成功,你会看到左侧Project面板里有一棵目录树,这就是你的第一个Java工程。

3.2 认识一个Java工程的标准目录结构

工程建好后,左侧Project面板默认展示项目的文件结构。比我第一次看的时候也懵,src是什么?out又是什么?我一个个说给你听。

一个最简单的Java工程包括:

  • .idea:IDEA的配置目录,里面存的是这个工程专属的设置,比如编码、SDK版本、运行配置等。不用手改,也不建议提交到Git。
  • src:源码目录,你的Java代码全部放在这下面。
  • out:编译输出目录,IDEA把编译好的.class文件放到这里,不用管它。
  • 项目名.iml:IDEA的模块配置文件,记录模块相关信息,同样不用管。

src里面,你可以直接新建Java类。但实际开发中,一般先建包(Package)。可以这样理解:包就是文件夹,用来归类管理Java类。比如你写两个类都在一个目录里,叫TestOneTestTwo,文件名没问题,但如果类多了,比如有100个测试类,全部摊在一个目录里,找起来极度痛苦。所以建包,把相同功能的类放一起。

右键src,选New -> Package,输入com.example.firstproject。这种域名倒序形式的包名是Java界的惯例,能有效避免类名冲突。然后在包上右键,选New -> Java Class,输入HelloWorld,注意类名首字母大写,这是Java命名规范。

这时候你看到的HelloWorld.java文件,就是你的第一个Java代码文件。

3.3 写代码、运行、查看结果

把下面的代码敲进去,注意一个字符都不要多、不要少,尤其是大括号和分号:

package com.example.firstproject; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }

写完之后,你会看到IDE左侧出现一个绿色的三角形按钮,这是“运行”按钮。点击它,或者把光标放在main方法里,按Ctrl+Shift+F10,IDEA会先自动编译这个类,然后在一个新的终端窗口里运行。

如果一切顺利,底部Run窗口会显示一行:

Hello, World!

看到这个输出,恭喜,你的第一个Java工程就正式跑通了。

注意:如果在运行按钮旁边有报错的红线,鼠标移上去看提示,一般是三种情况:包名没对应(目录和package声明不一致)、类名和文件名不一致、JDK没选对。这三种我现在说出来,你后面刷题时会反复遇到。

4. 把这些常用配置调好,后面写代码能省一半时间

4.1 把Maven装明白,依赖管理不再玄学

刚跑通HelloWorld的新手,可能觉得Maven完全没必要,反正自己写代码,不需要引入第三方库。但等你开始用第三方库,比如操作JSON、连MySQL、写单元测试,Maven就变成必需品了。Maven是Java项目的“包管理器”,它负责下载和管理项目依赖的jar包,替代你手动去网上下jar包再添加到classpath这种原始操作。

Maven的安装和配置也很简单。去官网下载apache-maven的二进制包(注意选apache-maven-3.9.x-bin.zip,不要选src源码包),解压到纯英文目录,然后配置环境变量MAVEN_HOME,指向解压后的目录,再把%MAVEN_HOME%\bin加到PATH里。命令行输入mvn -v验证。

但是,Maven默认从中央仓库下载依赖,服务器在国外,国内网络下经常慢到怀疑人生。这个问题的解决方案是配置国内镜像,也就是把默认仓库地址换成阿里云、华为云等提供的镜像仓库。打开Maven安装目录下conf/settings.xml,在<mirrors>标签内添加:

<mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>

保存后在命令行执行mvn help:system,如果能顺利下载插件不报错,说明镜像配置成功。

然后在IDEA里,Ctrl+Alt+S打开设置,搜Maven,把Maven home path指向你刚解压的Maven目录,再在User settings file里选中刚才改过的settings.xml。这样IDEA里的Maven就会自动走国内镜像,下载依赖速度会快非常多。

4.2 高频快捷键,24小时敲代码效率翻倍

IDEA的强大一半靠快捷键,另一半靠重构和代码提示。我整理一张平时最常用的快捷键表,建议你贴显示器旁边,一周左右就能形成肌肉记忆。

功能Windows/Linux快捷键macOS快捷键
运行当前类Ctrl+Shift+F10Control+Shift+R
显示可运行目标Alt+Shift+F10Control+Option+R
自动补全代码Ctrl+SpaceControl+Space
万能搜索(文件/类/符号)双击Shift双击Shift
查找类Ctrl+NCommand+O
查找文件Ctrl+Shift+NCommand+Shift+O
全局搜索文本Ctrl+Shift+FCommand+Shift+F
跳转到定义Ctrl+BCommand+B
查看实现类Ctrl+Alt+BCommand+Option+B
重命名(重构)Shift+F6Shift+F6
快速修复/导入类Alt+EnterOption+Enter
代码格式化Ctrl+Alt+LCommand+Option+L
代码注释/取消注释Ctrl+/Command+/
全部折叠/展开Ctrl+Shift+加号 / 减号Command+Shift+加号 / 减号

新手最容易忽略的是Alt+Enter。当你的代码里出现红波浪线,很多情况下把光标放到波浪线上,按一下这个快捷键,IDEA会直接给你修复建议,比如导入缺失的类。学会用这个键,写代码的顺畅度会立刻上一个台阶。

还有一个特好用的功能叫“增量搜索”,按两次Shift弹出搜索框,直接搜你要找的类、文件、变更,不用再一级级展开目录树。

4.3 用Live Templates把常用代码模板化

写代码多了你会发现,有些代码块每次都一样,System.out.printlnmain方法、for循环、try-catch异常处理。IDEA的Live Templates功能可以帮你把这些代码片段变成“缩写”,输几个字母就能展开一整段。

打开设置 ->Editor -> Live Templates,右侧点加号,选1. Template Group,新建一个自己的分组,比如myjava。然后在分组下新建Template,AbbreviationsoutDescriptionprintln语句Template text填:

System.out.println($END$);

定义变量$END$表示展开后光标停留的位置。然后在Define里勾选Java生效范围。保存后,在Java文件里输入sout按Tab,就能直接展开成System.out.println();并把光标放进括号里,省去敲一长串的时间。

IDEA其实默认就带了很多好用的Live Templates,比如在主方法里输入main按Tab能展开public static void main(String[] args);输入psvm同样能展开主方法。把这些缩写记熟,写代码的手速能比别人快一截。

5. 新手最容易踩的坑,我一个个排查给你看

5.1 JAVA_HOME不生效,明明配了却报“不是内部或外部命令”

这个问题十个人里有八个会碰到。配置完JAVA_HOME和PATH后,新开的命令行窗口依旧提示java不是内部或外部命令。原因多半是旧的环境变量缓存,或者PATH里顺序不对。

Windows下,打开新命令行窗口前,配置的是系统环境变量,但是旧的命令行进程还保留着旧环境,所以要新开窗口;如果新开窗口还是不行,检查一下是不是PATH里写成了%JAVA_HOME%bin,少了反斜杠;或者JAVA_HOME路径末尾带了个分号。还有一种情况是你电脑里装过其他JDK或JRE,它们在PATH里排在了前面。在命令行输入where java就能看到到底命中的是哪个路径。

5.2 控制台输出中文乱码,怎么调都没用

中文乱码基本是编码不一致导致的。前面说过的File Encodings全部设为UTF-8之外,还要注意IDEA的编译选项。打开Build, Execution, Deployment -> Compiler -> Java Compiler,找到Additional command line parameters,加上-encoding UTF-8,强制编译时用UTF-8。另外,运行窗口如果乱码,回到设置里搜Console,找到Default encoding改成UTF-8。

Windows环境下,有时候还会遇到系统区域设置的问题,在“控制面板 -> 区域 -> 管理 -> 更改系统区域设置”里勾选“Beta版: 使用Unicode UTF-8提供全球语言支持”,然后重启,乱码问题基本能根治。不过这个设置对老软件有些兼容影响,建议只在乱码实在解决不了的时候用这一招。

5.3 Maven依赖下载慢或卡住不动

前面让你配了阿里云镜像,这个能解决90%的问题。但如果配了镜像仍然卡住,第一步要确认IDEA里用的Maven确实是配过镜像的那个settings.xml。IDEA的Maven设置和全局Maven未必是同一个,经常有人在命令行里配好了Maven,但IDEA里还在用内置的Maven。所以在IDEA设置里手动指定Maven home pathUser settings file后,点一下Maven -> Reload All Projects重新加载。

还有一个小技巧,Maven下载到一半断了,会留下.lastUpdated后缀的文件,导致下次下载一直失败。打开本地仓库目录(默认在C:\Users\你的用户名\.m2\repository),搜索并删除所有.lastUpdated结尾的文件,然后重新reload。这个命令可以在项目根目录执行:

# 删除所有.lastUpdated结尾的缓存文件(Windows PowerShell里执行) Get-ChildItem -Path "$env:USERPROFILE\.m2\repository" -Recurse -Filter "*.lastUpdated" | Remove-Item -Force

5.4 工程目录打不开源码,提示“Source root configuration”

有时候你从别人那里拷贝一个工程,用IDEA打开后发现代码文件夹不是蓝色但包名是浅色的,运行的时候提示无法识别源码根目录。这是因为工程缺少源码目录标记。右键src目录,选Mark Directory as -> Sources Root,把目录标记成源码根目录就行了。同理,如果是资源文件目录(比如resources),要标记成Resources Root

这问题在Maven和Gradle工程里尤其常见,因为它们的默认目录结构是src/main/java,从IDEA里新建的Maven项目会自动标记,但手改目录结构或导入别人的工程时就容易丢。

5.5 常见报错速查表

下面这张表是我在实际使用里碰到的高频报错,基本都是新手期必见的:

报错信息含义解决方案
Error: java: invalid source release: 17编译级别和JDK版本不匹配Project Structure里把Language Level调到对应版本
Cannot resolve symbol 'xxx'找不到某个类或方法Alt+Enter导入类;检查Maven依赖是否下载完整
java: 程序包xxx不存在依赖没有进入classpath右键项目 -> Maven -> Reload Project,或刷新Gradle
ClassNotFoundException / NoClassDefFoundError运行期找不到类检查Artifacts配置、依赖是否打包进运行时classpath
Port 8080 was already in use端口被占用换个端口,或任务管理器结束占用进程
找不到或无法加载主类编译后的类文件路径不对右键运行主类,或重新编译整个工程
Lombok生成的getter/setter找不到lombok依赖或注解处理没生效确认依赖存在;开启设置里的Annotation Processing

这里的Cannot resolve symbol可以说是最高频的一个。新手导入别人的Maven项目后,IDEA右侧会提示Maven projects need to be imported,一定要点Enable Auto-Import,让IDEA自动拉取依赖。拉取过程中如果网络卡住,就会出现一堆红色Cannot resolve。这时候不要慌,先把网络问题解决了,再reload,基本就能好。

6. 第一个工程跑通之后,建议往这几个方向继续扩展

HelloWorld跑通了,只是万里长征第一步。我刚跑通的时候,也觉得一切都好,但后来发现自己连“把Java程序打包成可运行的jar”都不会,到部署的时候那叫一个手足无措。这里顺手给你三个方向,作为后续学习路线:

首先是学会把工程打成jar包。在IDEA里,打开File -> Project Structure -> Artifacts,点加号,选JAR -> From modules with dependencies,选择主类,点OK。然后点菜单栏Build -> Build Artifacts -> Build,IDEA会在out/artifacts目录下生成一个jar文件。在命令行执行java -jar 包名.jar就能运行。这个过程看着简单,但刚接触的时候很容易踩到“明明选了主类还是提示没有主清单属性”的坑,原因大部分是Artifacts配置里没选主类,重新配置一次就好。

第二个方向是学单元测试。Java最常用的测试框架是JUnit,IDEA里创建测试类非常方便:在要测试的类名上按Alt+Enter,选择Create Test,IDEA会自动生成测试骨架代码。加上JUnit依赖后就能跑测试。学会写测试,对你理解Java代码逻辑的帮助会非常大。

第三个方向是学会用调试器。在代码左侧行号旁边单击,会出现一个红点,这是断点。点绿色的“Debug”按钮运行,程序会停在断点处,你可以逐行执行、查看每个变量的值。这套调试能力是IDE的精髓,也是你以后排查Bug最依赖的技能。

关于IDE本身的路径,再往后可以深入学习IDEA的代码重构、版本控制集成、数据库面板这些高级功能,但现阶段先把工程创建、运行、构建、调试这几件事吃透,你就已经具备了独立开发Java程序的基本能力。

最后分享一点我的体会。很多初学者特别喜欢到处找“最牛配置”“最强教程”,结果时间全花在折腾IDE上,代码反而没写几行。IDEA说到底就是工具,它的价值是让你把注意力集中在业务逻辑和算法本身上。所以我的建议是,这篇文章里的配置,照着做一遍就够了,剩下的时间,请去写代码。多写,多跑,多调试,比整天研究IDE的隐藏功能有用得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 9:32:47

嵌入式硬件软件协同:用ICD、HIL与冻结门终结互相等待

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/9 9:31:48

技能提取技术原理与工程实践

我无法根据当前输入生成符合要求的博文。 原因如下&#xff1a; 项目标题仅为单个英文单词 "skills" &#xff0c;无明确指向性&#xff08;既非具体技术、工具、方法&#xff0c;也非领域、场景或问题&#xff09;&#xff1b; 项目正文为空&#xff1b; 关键…

作者头像 李华
网站建设 2026/9/9 9:31:12

magnitude:本地AI推理的向量尺度引擎与内存映射原理

1. “magnitude”不是命令行工具&#xff0c;而是本地AI推理服务的底层度量引擎 很多人第一次在终端里敲下 magnitude &#xff0c;期待它像 git 或 curl 那样立刻响应——结果却只收到 command not found 。这不怪你&#xff0c;连 GitHub 上不少项目 README 都把 ma…

作者头像 李华
网站建设 2026/9/9 9:30:30

长文本转语音实战:免费TTS工具实测与避坑指南

你有没有遇到过这种场景&#xff1a;手里有一篇3000字的文章&#xff0c;想转成语音放进视频里当配音&#xff0c;又不想花钱请人来读&#xff0c;结果打开某个“免费TTS”网站&#xff0c;输一段文字它还勉强能读&#xff0c;一粘贴长文就直接卡死或者提示“文本过长”。我上个…

作者头像 李华
网站建设 2026/9/9 9:28:41

从10G到100G:FPGA UDP offload移植实战与调试记录

之前一直在10G的XGMAC上写UDP offload&#xff0c;今年项目要求吞吐直接上100G&#xff0c;我第一反应是&#xff1a;这有什么难的&#xff0c;找一个开源的100G UDP核&#xff0c;改改接口就上板。等真做完一整轮移植加测试&#xff0c;我必须承认这个想法过于乐观。100G以太网…

作者头像 李华