Java从入门到工作2 - IDEA

2.1、项目启动

从git获取到项目代码后,用idea打开。

  1. 安装依赖
  2. 完成Marven/JDK等配置
  3. 检查数据库配置
  4. 启动相关服务

安装依赖

如果个别依赖从私服下载不了,可以去maven官网下载补充。

如果run时提示程序包xx不存在,在项目目录右键Marven->ReLoad Project,重新下载依赖。

数据库配置

数据库连接如果异常,可在idea服务器连接工具完成测试工作。

启动相关服务

无服务架构的项目,一般需要多个服务来支持应用。注意别忘了注册中心,比如zookeeper或Eureka

2.2、启动报错汇总

2.1.1 compiler error

这个错是我在第一次导入团队代码后,run services时发生的,完整报错内容为

复制代码
java: Compilation failed: internal java compiler error

报错信息翻译下就是编译异常,个人觉得以上报错主要原因可能是sdk不一致,或者是build时分配的内存太小。定位起来较繁琐,我花了一上午折腾。

解决办法:

1、查看项目的 jdk(Ctrl+Alt+shift+S)

File ->Project Structure->Project Settings ->Project

2、查看工程的 jdk(Ctrl+Alt+shift+S)

File ->Project Structure->Project Settings -> Modules -> (需要修改的工程名称) -> Sources ->

3、查看 idea 中 Java 配置

File ->Setting ->Build,Execution,Deployment -> Compiler -> Java Compiler

上面三步做完还是失败的话

清除 IDEA 缓存 重启 IDEA

File->Invalidate Caches/Restart

还有一种情况是因项目过大,需要修改这个堆的大小

解决方法如下:

在 setting-->Build,Execution,Deployment-->Compiler 中找到 build process heap size(Mbytes):700 改为 1024(视情况而定)

(我就是这个原因造成的,改了一下堆大小就好了)

2.1.2 Unable start Tomcat

Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

考虑是否数据库连接失败,可在本地测试,确保正常连接后重启服务。有的数据库有网络要求,需要代理文件 。

数据库参数一般在application.properties文件中,datasource.slave.username配置中。

2.1.3 部分服务没有端口号

删除缓存后,重启服务可解决。File->Invalidate Caches,打开后全选所有选项,可彻底删除缓存。

2.3、搜索

"Find in Files"和双击Shift键(Search Everywhere)都是IntelliJ IDEA中强大的搜索工具,但它们的使用场景和目的有所不同。"Find in Files"更适合于在项目中查找特定的文本或代码片段,而双击Shift键(Search Everywhere)则提供了一种更广泛的搜索方式,可以帮助你快速找到几乎所有类型的元素。

Find in Files 快捷键Ctrl shift F,如果无效,找Edit->find->find in files

2.4、自动补全

controller中直接调用某个类中没有的方法test,该方法会飘红。鼠标悬停在方法名称上会有Create method 'test'提示,点击该提示会自动在该类中创建此方法。

interface中添加一个函数,实现类文件名称会飘红。在该文件中使用快捷键ctrl + i, 然后Enter即可**。注意自动生成的函数没有@RequestBody,需要手动添加。**

2.5、debugger

平时启动服务时不要选择run,直接选择debugger。然后可以随时在任何一行代码上添加红点开始调试,爽的一笔。

进入断点后的操作,如下图

上图的停止会结束服务,如果想在调试中途结束调试,但不结束服务。可点击红色方块下2位的三角符号(resume program)。

2.6、数据库可视化工具

在哪里写sql?

库名右键->New->Query Console

相关推荐
chuan.bai11 小时前
Java RAG 实战(第 8 篇):Spring Boot RAG 查询 API
java·spring boot·贪心算法
FlyWIHTSKY11 小时前
idea中集成claude功能
java·ide·人工智能·intellij-idea·cloudera
Java成神之路-11 小时前
Spring AI 统一结构化返回:ChatModel / ChatClient 两种实现方式
java·springaialibaba
鬼手点金11 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
Mr. zhihao11 小时前
深度解析:为什么Java序列化需要搭配ByteArrayOutputStream?IO装饰器模式的精妙设计
java·开发语言·装饰器模式
存在morning11 小时前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang
vx-程序开发11 小时前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea
格林威11 小时前
多相机并行采图最佳实践:Task.WhenAll + 异常处理 + 资源释放
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·机器视觉
djjjx.11 小时前
【 C++ 】多态
开发语言·c++·多态
夜雪一千11 小时前
Python如何使用XPath定位没有特征的元素?无id、无class通用定位技巧
开发语言·python