• 终于,我感受到了IDEA的强大


    Java开发者千千万,开发者用的开发工具目前主流却只有2种:eclipse和IDEA,我入行以来一直用的eclipse,听过IDEA很好很强大,但是也只是处于听说的阶段,
    基本没用过,自然没怎么体会过。直到今天,我解决了一个实际问题(注意,这不是一篇安利IDEA的文章,而是介绍一个实际问题解决的过程)。

    缘起

    公司的项目都是微服务的,前后端完全分离(只是代码分离,但是开发人员目前不分离),我负责其中2个核心工程,其中一个是刚接手的,就是它让我遇到了一个问题。
    一般我开发的时候都是先在本地将前后端调试通过后再提交代码到git上,但是这个工程不知道为什么通过jetty:run 启动后总是不能正常访问,通过postman也不行,一直返回503

    山重水复疑无路

    这个问题,我到网上查了好久,很多人都说是后端服务问题,服务没起来,我也这样怀疑过,但是从console打印的log来看是正常的,把整个console从底往上翻都没有发现报错的堆栈信息,但是把代码发到环境上就是ok的,看来还是本地的问题,但没有报错,一时半会儿也查不出来问题在哪儿。

    没办法,只能把后端代码写好后,肉眼调试看看有没有问题,没发现问题的话就把代码发到测试环境上,然后用postman或本地的前段代码访问测试环境的接口。

    这样做的缺点很明显,就是如果有问题的话,要重新提交代码然后重新发布环境,比较麻烦,只能临时这么干,不是长久之计。

    柳暗花明又一村

    记得第一次提交这个工程的代码的时候,eclipse特有的.project等文件都是之前没有加入到ignore列表的。

    基于这个,我猜想原来的开发人员会不会用的是IDEA?他之前是怎么调试的?难道没报错吗?为了寻找答案,我把下载了很久但是没怎么用过的IDEA翻了出来,导入工程并启动该工程。发现报错了!!!它报错了!!!太好了,报错了,终于找到503的问题点了。

    对症下药,药到病除
    根据报错,很显然是配置文件中少了一个配置项目,导致报错,使本地服务没有完全启动,因此报503错误。于是我翻了下环境上的配置,copy到本地,再启动,然后访问,正常响应,问题解决。

    完美!!!

    打破砂锅问到底
    没道理啊!按说eclipse启动错误应该会有堆栈信息的,为什么我再console里面看不到呢?
    度娘一把,最后得出结论堆栈被其他的信息冲掉了,因为eclipse默认情况下console显示的日志行数有限制。

    要解决问题只需把这个限制取消就行了。
    于是乎,我把它取消掉然后把那个配置再删掉,重新启动eclipse,在长长的日志里面我发现了堆栈信息。

    没错,就是它,那个我找了很久都没有找到的它。
    众里寻他千百度,蓦然回首,“堆栈”却在灯火阑珊处!!!

    收官
    从这个问题来看,IDEA确实比eclipse更懂程序员,IDEA把报错直接报在了启动结束的位置,而eclipse却在报错之后又执行了很久并且打印了很多log信息,在一定程度上影响了我排查问题。
    当然,并不是说IDEA就一定比eclipse好,我也用了很多年的eclipse了,挺好的。总体上,各有千秋吧。
    以上是我的个人观点,eclipse铁杆粉们,求放过哦

  • 相关阅读:
    代理模式的理解和示例
    模板方法模式的理解和使用
    ubuntu16.04安装matlab_R2018a/R2017a
    c++ 智能指针用法详解
    ORBSLAM2单目初始化过程
    ROS launch 总结
    组合导航初理解
    对极几何-本质矩阵-基本矩阵
    学习OpenCV双目测距原理及常见问题解答
    Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗、Chrome、vlc、网易云音乐安装方法(转载)
  • 原文地址:https://www.cnblogs.com/sam-uncle/p/11385814.html
Copyright © 2020-2023  润新知