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 等。

总之,一切皆插件,不支持的可以自己安装插件,如果插件不支持的话,就当我没说这句话...

其实,社区版也有好处,尤其是内存方面,因为没有了一堆默认插件,反而社区版显的非常轻量级,简直就是内存的福音。。。

至此,如果大家被终极版的激活方式搞得一度崩溃的话,不妨试一下社区版。

大家有在使用社区版的吗?欢迎评论区留言讨论~

无需付费,教你IDEA社区版中开发Web项目(SpringBoot\Tomcat)的更多相关文章

  1. 【Maven】【IDEA】在idea中开发web项目,解决maven的jar包冲突的方法

    在idea中开发web项目,解决maven的jar包冲突的方法 第一步: 先对项目进行 clean ,再进行install 第二步: 出现NoSuchMethodException,ClassNotF ...

  2. 部署Eclipse中的Web项目到Tomcat服务器运行

    用Eclipse开发Web项目时,可以通过Tomcat服务器运行Web项目,此时Web项目被部署在[WorkSpace]\.metadata\.plugins\org.eclipse.wst.serv ...

  3. 在Eclipse中开发WEB项目

    本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似.我们推荐使用解压版的tomcat6.x版本,来作为服务器.可以到 ...

  4. MyEclipse中加入web项目到tomcat

    假设导入不是在MyEclipse下建立的web项目,想加入到tomcat中时,会显示"No projects are available for deployment to this ser ...

  5. Eclipse 中,web项目在Tomcat运行时填写不了Server name

    最近开发项目,从MyEclipse中导入项目到Eclipse中,那些WEB属性都在,可就是不能在Tomcat上运行.纠结一番,最后发现是这个问题: WEB的版本问题. 具体问题看下图: 解决方案: W ...

  6. ubuntu16中部署web项目到tomcat,xft和securecrt连接到ubuntu16(待续。。。)

    xftp    xftp中新建连接    ubuntu中安装和启动ssh服务    xftp连接到ubuntu 安装JDK,Tomcat    sudo tar -zvxf jdk.tar.gz   ...

  7. myeclipse中更改web项目在tomcat中部署的路径

    右键点击项目名称,选择属性properties,选择myeclipse->web.更改web context-root就可以.

  8. 关于idea中,web项目启动tomcat,访问资源报错404

    背景: web项目启动tomcat,访问相应的资源,报错404,前提资源路径是没错的. 原因: 1.确定是不是web项目 不是的话: 配置web-inf的路径和webroot(web根目录)的路径 2 ...

  9. PyCharm社区版+Django搭建web开发环境-2

    接上一篇:PyCharm社区版+Django搭建web开发环境-1 1. 创建好django项目并建立app应用:web 2. setting.py:配置app应用 INSTALLED_APPS = ...

随机推荐

  1. RabbitMQ相关概念的理解

    1.什么是消息? 消息就是程序(服务)之间传递的数据(图/文/声/像). 2.MQ是什么? MQ(MessageQueue)是指消息队列亦或消息总线.是消息的容器,这个容器的策略是FIFO(先进先出) ...

  2. pytorch加载语音类自定义数据集

    pytorch对一下常用的公开数据集有很方便的API接口,但是当我们需要使用自己的数据集训练神经网络时,就需要自定义数据集,在pytorch中,提供了一些类,方便我们定义自己的数据集合 torch.u ...

  3. Ubuntu 18.04 Tomcat 端口号查询

    参考http://blog.csdn.net/liufuwu1/article/details/71123597 最近几天发现许多这篇笔记被许多朋友访问,推测有很多朋友也与我有相同的疑惑,而原始版本过 ...

  4. python语言编程算法

    编程题 1 台阶问题/斐波那契 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. fib = lambda n: n if n <= 2 else fi ...

  5. Hive Join优化

    在阐述Hive Join具体的优化方法之前,首先看一下Hive Join的几个重要特点,在实际使用时也可以利用下列特点做相应优化: 1. 只支持等值连接 2. 底层会将写的HQL语句转换为MapRed ...

  6. js try catch 获取错误信息

    try{ alert(i); }catch(e){ console.log(e.message,e.name,e.lineNumber) } message -- 错误提示信息 fileName -- ...

  7. JS生成限定整数区间范围内的随机整数

    对于整数区间获取随机整数: m,n均为整数,且n>m. 获取[m,n)区间内的随机整数: 1 var aNumber = (n - m) * Math.random() + m; 2 var r ...

  8. ESP8266 鼓捣记 - 入门(环境搭建)

    一.前言 以前没怎么接触过硬件开发,ESP8266 这个名字还是从朋友处得知,用它做了许多好玩的东西,便想着自己也来玩一玩.定了一个小目标,做一个温度计.本文介绍从0到 "Hello Wor ...

  9. Python学习笔记5:模块/包

    1.模块 模块简单理解就是一组功能的集合. 在Python中,一个文件(.py)就是一个模块,文件名即模块名. 模块的好处是大大提高代码的可维护性,其次,代码不必从零开始.当一个模块编写完毕,就可以被 ...

  10. springboot升级导致文件上传自动配置/tmp目录问题解决

    1,..\web\src\main\resources\spring\web-men-applicationContext.xml 保留原有的bean配置 <bean id="mult ...