无需付费,教你IDEA社区版中开发Web项目(SpringBoot\Tomcat)
1、IDEA 版本介绍
最近有小伙伴私信我说 IDEA 破解怎么总是失效?难道就没有使用长一点的吗...
咳咳,除了给我留言「激活码」外,或许社区版可能完全满足你的需求。
相信有挺多小伙伴可能不清楚或者没听过社区版,其实 IDEA 有三个版本:
-
Community:社区版,相当于 OpenJDK 的存在,完全免费,但功能有限制,且功能相对于终极版少的不是一点半点,甚至默认都不支持 Web 开发... 关于跟终极版的区别可以参考我的这篇文章:社区版和付费版的区别,好处就是免费,且可以用于商业开发,Google 的 Android Studio 就是基于社区版开发的。
-
EAP:终极版的开发版,或者说终极版的免费版,免费,功能无限制,更新频率比较高,相当于王者荣耀体验服,但只能试用30天,想要长时间使用就必须每隔 30 天重装一次...
-
Ultimate:终极版,收费,价格不菲,首年3000元左右,功能无限制,也有30天的试用期,目前大家用的比较多的版本。
如果大家对 EAP 版本感兴趣的话可以访问该链接:EAP下载链接请点击此处文字
2、正文部分
大家使用 IntelliJ IDEA 基本上是做 Web 开发,但社区版默认对 Web 开发的支持真的是一言难尽...
比如不支持 Spring、SpringMVC 等框架呀、不支持 Tomcat 项目部署呀之类的。
但是,不支持但不代表不能做 Web 开发,接下来带大家走一遍如何通过社区版创建一个 Spring Boot 项目。
社区版下载链接:社区版下载链接请点击此处文字
安装过程就不赘述了,一路默认即可。
2.1、安装 Spring Assistant 插件
我们都知道在终极版中有个 Spring Initializr 的脚手架,可以方便快速的帮助我们创建一个 Spring Boot 应用,那么社区版能用吗?
能用,但是需要先装插件。
进入 Settings/Preferences
-> Plugins
插件目录,搜索关键字「Spring Assistant」,找到对应的插件后进行安装、重启。
安装重启IDEA之后,我们再 new project(新建项目) 时,切换到 Spring Assistant 标签:
你会发现这不就是 Spring Initializr 嘛~
Next 之后,就是填写项目信息、勾选项目依赖之类的,在这就不赘述了,跟使用 Spring Initializr 一样。
如下是创建后的 Spring Boot 项目结构:
你会发现,创建后的项目还是那么熟悉,还是那个结构,一点变化都没有,甚至直接运行这个 Spring Boot 项目都没什么问题。
所以如果项目开发依赖的架构仅仅是 Spirng Boot 的话,感觉社区版也很香啊,没啥问题~
2.2、安装 Tomcat 插件
有的小伙伴的项目可能是传统的 Web 框架,还是需要 Tomcat 容器(或者 Jetty)才能启动。
没关系,社区版默认不支持 Tomcat 项目部署,但是不代表不能使用,安装插件走起~
进入 Settings/Preferences
-> Plugins
插件目录,搜索关键字「Tomcat」,找到对应的插件后进行安装、重启。
安装重启之后,点击顶部 Run > Edit Configurations...
然后添加一个启动容器 Smart Tomcat,操作步骤其实跟 Tomcat 一样~
如下是我本地一个传统 Web 项目的启动截图:
3、社区版开发总结
其实社区版使用下来,感觉基本能满足我的开发需求,特别是前后端分离之后。
但是为什么大家还是去使用终极版呢?
在使用了几天的社区版后我觉得能吐槽的也就是框架支持方面了...
终极版对 Spring 相关的框架做了大量的支持,突然转换到社区版后偶尔会觉得别扭(其实还好),比如社区版不支持 Spring Boot、Spring Cloud 等配置文件的自动补全,或者是框架的一些图形化类图的展示。
不支持 Detecting Duplicates(Detecting Code):代码查重,提示代码重构等。
前端开发不支持语法高亮(仅针对 freemarker 语法做了测试),不过前后端分离后,这个就不算啥。
其他的你要说不支持吧,但是大部分又可以通过插件形式进行整合,比如 Tomcat 、Spring Assistant 、Database 等。
总之,一切皆插件,不支持的可以自己安装插件,如果插件不支持的话,就当我没说这句话...
其实,社区版也有好处,尤其是内存方面,因为没有了一堆默认插件,反而社区版显的非常轻量级,简直就是内存的福音。。。
至此,如果大家被终极版的激活方式搞得一度崩溃的话,不妨试一下社区版。
大家有在使用社区版的吗?欢迎评论区留言讨论~