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

相关推荐
晨非辰2 小时前
#C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio
lichong9513 小时前
API开发工具postman、国内xxapi和SmartApi的性能对比
eclipse·intellij-idea·api·postman·visual studio·apipost·apifox
励志码农4 小时前
JavaWeb 30 天入门:第二十三天 —— 监听器(Listener)
java·开发语言·spring boot·学习·servlet
天高云淡ylz4 小时前
子网掩码的隐形陷阱:为何能ping通却无法HTTPS访问
开发语言·php
@小匠4 小时前
Spring Cache 多租户缓存隔离解决方案实践
java·spring·缓存
智码看视界5 小时前
老梁聊全栈系列:(阶段一)架构思维与全局观
java·javascript·架构
黎宇幻生5 小时前
Java全栈学习笔记33
java·笔记·学习
希望20176 小时前
Golang Panic & Throw & Map/Channel 并发笔记
开发语言·golang
朗迹 - 张伟6 小时前
Golang安装笔记
开发语言·笔记·golang