新机快速搭建java开发环境过程记录
新机快速搭建java开发环境过程记录
- 引
- 开发环境
- jdk
- maven
- git
- idea
- 配置
- mave
- IDE忽略文件配置
- 代码自动补齐忽略大小写
- UTF-8编码
- 类/方法注释
- 插件
- Grep Console
- Lingma - Alibaba Cloud AI Coding Assistant
- CodeGeeX
- Lombok
- SonarQube for IDE
- Alibaba Java Coding Guidelines
- Swagger Tools
- CodeGlance Pro
- MyBatisX
- mysql
- dbeaver
- 常用工具
- 浏览器书签
- notepad++
- 7z
- mobaXterm
- postman
- redisInsight
- drawio
- devSidercar
- 其它
引
换工作,换电脑都需要将java开发的各个环境重新搭建一遍,大大小小的软件还是挺多,每次都得去各大网站上搜索各种配置,这次主动记录一下自己的一些过程。
开发环境
jdk
首当其冲的肯定是jdk的安装,v1.8依然能打,当然也可以选择11,17,21这种LTS版本。选择安装包或者压缩包都行,最后都得配置环境变量。
- 新建环境变量JAVA_HOME,值为jdk根目录,如
C:\Program Files\Java\jdk1.8.0_131
- 在Path环境变量中追加
%JAVA_HOME%\bin
,%JAVA_HOME%
指向了前面自定义新建的环境变量JAVA_HOME,所以此处为固定写法,也可直接在Path中追加内容C:\Program Files\Java\jdk1.8.0_131\bin
,效果一样 在Path环境变量中追加(非必须)%JAVA_HOME%\jre\bin
添加环境变量CLASSPATH,值为(非必须).;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
- CMD命令行窗口
java -version
显示jdk版本即配置完成。
maven
目前使用最多的版本应该还是3.6.x,能兼容jdk1.7的最高稳定版。
maven安装非常简单,解压后,配置环境变量即可。
环境变量和java类似,配置一个MAVEN_HOME将值指向根目录,然后在Path环境变量中追加%MAVEN_HOME%\bin
,同样,在命令行创建mvn -v
能正确显示maven版本即配置完成。
安装完成后,通常还需要设置一下setting.xml文件,设置mvn依赖路径,镜像源等,如果是企业内部使用,可能还需要配置内部的服务信息,deployment信息。
设置本地依赖存放路径
<localRepository>C:\mvnDir</localRepository>
设置阿里云镜像
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>
git
安装包选择自定义路径后直接一路next至完成。
git安装好后非常重要的一步就是设置全局的用户名和邮箱地址,这样在提交代码后,才知道作者的信息。
# 设置全局用户名(请将 "Rosen" 替换成你的名字)
git config --global user.name "Rosen"# 设置全局邮箱(请将 "roswu@example.com" 替换成你的邮箱)
git config --global user.email "roswu@example.com"
idea
吃饭的家伙来了,天天看它的时间快比上睡觉的时间了。下载和安装都比较简单,社区版是免费的,Ultimate版本需要收费,破解之道很多,自行搜索。这里重点记录一下idea安装后的各种配置和常用的插件。
配置
mave
依次打开Settings→Build, Execution, Deployment→Build Tools→Maven,设置Maven home path(maven根路径),User settings file(maven配置文件),Local repository(本地依赖路径)。如果可以全局设置,就尽量设置idea的全局maven配置,这样新建项目就自动使用全局配置,免得每个项目都需要单独配置了。
IDE忽略文件配置
忽略有两个层面的理解,一个是这里提到的idea自动忽略不显示的文件,一个是在.ignore文件中设置忽略后不提交到仓库。
像.idea,.iml之类的IDE生成的文件,可以通过Settings→Editor→File Types→Ignored Files and Folders添加需要忽略隐藏的文件夹或文件。有的版本是一个输入框,直接用分隔符在后面追加就行,我用的是2023版,是用+新增行再输入对应的文件或文件夹类型,这里遇到个小坑,我输入后发现apply按钮无法点击,一度以为软件哪里有这个限制,网上也没查到相关的解决方案,最后灵光一闪,输入完后一回车,问题解决了。尴尬而不失礼貌的笑笑,不知道有没有其他人和我一样陷入过这个困境。
代码自动补齐忽略大小写
依次打开Settings→Editor→General→Code Completion,将Math case去掉,默认大小写敏感,对代码提示和自动补全非常不友好;再将Show the documentation popup in 这儿的1000改成500,提示效果更灵敏。
UTF-8编码
全局设置
依次打开Settings→Editor→File Encodings,将Global Encoding、Project Encoding、Default encoding for properties files均设置为UTF-8。
编译器
依次打开Settings→Build,Execution,Deployment→Compiler→Java Compiler,在Additional command line parameters中添加-encoding utf-8,确保编译时使用UTF-8编码。
类/方法注释
类注释要设置两个地方,一种是创建java文件的时候时候默认的类注释,一种是修改类注释的快捷模板。
依次打开Settings→Editor→File and Code Templates→Includes,添加为以下内容并apply,新创建的类就自带类注释了。
/*** ${todo}* * @author roswu* @since ${YEAR}-${MONTH}-${DAY}*/
也可以将这个类注释信息放到对应的文件类型,如class,enum,interface等,原理和上述一致。
另一种自定义的类/方法注释,需要切换到Live Templates目录下进行配置,点击右侧的+号,新建一个Template Group,然后在Group下新建Live Templates。
如下为类注释配置
Abbreviation值为c
,对应class首字母;Expand with选择Enter触发;左下角选择Java对应的文件类型;YEAR、Month、DAY为三个变量,点击Edit Variables编辑对应的表达式分别为date(“yyyy”)、date(“MM”)、date(“dd”)。
** * * @author roswu* @since $YEAR$-$MONTH$-$DAY$*/
以下为类方法注释配置
Abbreviation值为m
,对应method首字母;Expand with选择Enter触发;左下角选择Java对应的文件类型;
params变量表达式
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 1; i < params.size() +1; i++) {result+=' * @param ' + params[i - 1] + ((i < params.size()) ? '\\n ' : '')}; return result", methodParameters())
return表达式
methodReturnType()
***
$param$ * @return $return$ */
下面来测试一下,新建一个java类,会提示输入todo变量,就是最上面设置的类模板中的类描述变量,输入后创建的类就自带有类注释。接着我们将类注释删除,输入/c
,应该是有提示选项类注释 /+c+Enter
,接着回车,也能自动生成我们配置好的类注释模板。再随便创建一个方法,输入/m
,会提示方法注释 /m+Enter
选项,回车后自动生成类注释模板,当然,参数和返回值含义需要我们输入,方法描述需要我们补全。
插件
Grep Console
将不同级别的日志显示不同的样式,更加直观。
Lingma - Alibaba Cloud AI Coding Assistant
阿里推出的AI编码助手,实测还是比较好用,值得推荐。
CodeGeeX
另外一款全免费的AI插件,不过和Lingma一样,都需要登录后才能使用。
Lombok
支持各种好用的注解,如@Data,@Slf4j,@Accessors,@RequiredArgsConstructor等。
SonarQube for IDE
代码检查工具。
Alibaba Java Coding Guidelines
阿里推出的代码扫码工具。
Swagger Tools
支持自动生成swagger各种注解,项目中用到swagger框架的可以用。
CodeGlance Pro
根据当前编辑的文件生成一个类似的“鸟瞰图”显示在右侧滚动条旁,便于快速定位代码和拖动。
MyBatisX
支持mapper和xml之间快速跳转。
mysql
本地装个windows版本,时不时可能会用到,基本上也是一路下一步就完事儿了,对比oracle的安装,简直不要太爽。
这里需要注意,安装好后,系统是默认启动的,不信你看你系统服务里面,是否有个运行状态的mysql服务。
dbeaver
我个人比较青睐的数据库管理工具,兼容多种数据库。社区版免费,基本够用,Ultimate版本需要收费,也有破解之道。Ultimate版本才支持数据库比较迁移之类的操作。
常用工具
浏览器书签
在换电脑的时候,一定要记得把浏览器的书签导出来备份,通常是导出为一个html文件,再导入到新的浏览器环境中,如果有账户登录可以自动同步更好。
notepad++
个人使用最久的文档编辑器,支持自动保存,分窗对比,高亮查找等,基本满足日常文本编辑需要。
如果是文档过大,可能会直接卡住,之前使用过sublime打开,体验良好。
7z
压缩解压工具。
mobaXterm
ssh工具,免费版功能够用。
postman
api调试工具,比较麻烦的一点是需要登录,而优点也正是登录后可以多设备自动同步。个人觉得与swagger和yapi各有千秋,postman的功能更加聚焦,支持环境变量配置和快速切换;swagger根据注解自动生成,只是需要在controller和dto中添加大量注解,这一点可以通过idea的插件自动生成;yapi优点更加突出,可以插件自动生成同时提供调试功能,不过个人觉得更适合企业内部自研使用,postman和swagger兼容性更好。
redisInsight
redis数据库管理工具。
drawio
免费的绘图工具,如常用的流程图,泳道图,架构图等。
devSidercar
github加速器。
其它
其它后续再补充,如node,python,各种中间件等。