IDEA 社区版和旗舰版果然还是有-内在区别-的吧

2020-12-23 19:39:30 +08:00
 monetto

在公司开发 Java6 的老项目,团队里有人用了 Lombok,版本是 1.16 。

楼主一直用的社区版+Smart Tomcat 插件开发。奈何动不动就抽风报错,提示找不到符号(1.16 的 Lombok 应该是无法与 IDEA 2020.1 以后的版本配合使用的)。这只是其中一个问题。

还有就是代码本身没问题,然后 IDEA 编译就报错,文件爆红了,结果打开文件,爆红自己一会消失了。无奈。

上面你这两个问题都可以通过使用 Maven 构建解决。但是今天碰到了个问题,SmartTomcat 插件配合 Tomcat8.5 启动一个项目,半天启动不起来,不是报没找到符号,就是报“实际参数列表和形式参数列表长度不同”,JAR 包版本什么都检查过了,最后启动起来了,IDEA 自己又报了个“ModuleUtilCore.findModuleForFile must not be null”,

也启动成功过几次,最后总结就是能不能启动完全看脸...真--迷惑。今天晚上实在启动不起来了,而且身边的同事一直都没这些问题(其他人一直用的旗舰版),遂楼主也试了下旗舰版,一次启动成功...非常轻松....真心跪了。

个人感觉 IDEA 社区版和旗舰版,除了支持 JavaEE 和 Spring 还有 JS 以外...还是有内在区别的...不只是功能上的区别...有了解的大佬吗?

10513 次点击
所在节点    Java
61 条回复
monetto
2020-12-23 19:41:29 +08:00
查了下,个人版的应该是没有使用设备限制的吧...那就是买了个人版之后,家里的 Mac 和公司的 PC 都能用吧?没有设备数量限制吧(有大佬了解吗?)

然后再弱弱的问一下哪里有旗舰版的优惠渠道...想搞一年然后获得---当前版本的---永久激活码....(订阅满 1 年可以一直不升级用当前版本)
acrisliu
2020-12-23 19:51:59 +08:00
个人版买了可以在公司和个人电脑上用,也能开发商业项目,只是不能共享给其他人使用,也不能让公司以任何方式报销你的购买费用。
monetto
2020-12-23 19:55:19 +08:00
@acrisliu 那就是说,就我个人而言,我买完之后如果没有升级诉求,我家里所有的电脑都可以安装,以后我自己用就再也不用付钱了?(不过他怎么知道是我自己用,还是我和同事一起用...)
neoblackcap
2020-12-23 19:57:40 +08:00
@monetto 君子协议,不过话说他们是有中国区的销售的。你们公司大一点的话,通过遥感技术,应该会上面推销或者法务发邮件
hantsy
2020-12-23 20:24:55 +08:00
一直用 CE 版本,商业版本太重。
hantsy
2020-12-23 20:27:22 +08:00
你们公司真牛逼,Java6 用到现在。

我的的维护观点,只要是公司项目还活着,一律更新到最新稳定版本。除了那个项目完全放弃了。
monetto
2020-12-23 20:29:30 +08:00
@hantsy 是的。主要是 CE 版完全开源。个人也非常喜欢....奈何治不了开发团队大...
12101111
2020-12-23 20:30:02 +08:00
你说的都是软件 bug, 并不是功能区别
monetto
2020-12-23 20:31:43 +08:00
@hantsy 成本太高。坐标某电商公司...升级出现问题,出现损失,谁也承担不起啊...
monetto
2020-12-23 20:39:20 +08:00
@12101111 确实...不过这么一想 IDEA 的社区版并没有想象的那么好了...
TypeError
2020-12-23 20:42:02 +08:00
pycharm 社区版除了没有数据库和一些框架支持,没感觉有区别
young1lin
2020-12-23 20:52:00 +08:00
真的不建议使用 Lombok,还有 AutoValue,都是血和泪的教训,内网开发。而且 Lombok 生成的 set/get 方法和 IDEA 手动生成不一样,有巨坑。
monetto
2020-12-23 21:08:20 +08:00
@TypeError 我在用 IDEA 社区版开发 SpringBoot+Java8 的新项目的时候也是这么想的...配合 Python 插件感觉简直无敌...直到去了现在的公司...
monetto
2020-12-23 21:13:26 +08:00
@young1lin 是的,我个人也很讨厌这个...说是神器不如说是自己图方便,侵入性太强,一个人用整个团队都要装插件......真想方便把所有变量设置为 Public 不是更方便?(狗头保命)。或者用 Python,Py 开发是真的快...只不过后期火葬场。个人感觉还是严谨点,约束性强点比较适合团队开发,更何况 IDEA 自动生成 getter 和 setter 就一键的事,同样很方便。
echo1937
2020-12-23 21:20:07 +08:00
@young1lin #12 Lombok 生成的 set/get 方法和 IDEA 手动生成不一样,有巨坑。 -- 具体是指什么?
chendy
2020-12-23 21:34:55 +08:00
@echo1937 lombok 的 get/set 命名在一些特殊情况下不符合 java bean 的命名规范,印象里有“名字第二个字母是大写字母”的情况,总之不是很常见,但是最好知道。。。
echo1937
2020-12-23 22:04:47 +08:00
@chendy #16 这个我知道,但是我不觉得这是 lombok 的问题。

比方说,类中有个成员变量 private String Uname,你手写的 getter 方法肯定还是 getUname(),

此时使用 Jackson 进行序列化,你得到的默认结果必然是{"uname":"xxxx"},而不是众所期待的{"Uname":"xxxx"},

也就是说,如果存在违反 java bean 命名规范的成员变量,

下游一大堆的插件,包括且不仅限于 lombok/Jackson...,有一个算一个都会出问题,

所以问题不是这些下游组件的坑,而是变量命名规范没有得到很好的遵守。
FreeEx
2020-12-24 00:09:02 +08:00
说 Lombok 有坑的就是自己菜怪工具…
zmq175
2020-12-24 01:19:59 +08:00
公司得一个项目就是 lombok 版本只能搭配 1.8 使用,之前装的 13 就是不兼容。。。。
w292614191
2020-12-24 08:58:37 +08:00
@echo1937 #17
首字母大写?不出问题有鬼。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/738373

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX