V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Junjunya
V2EX  ›  程序员

不是说 IDEA 是最好的编辑器么,为啥从 Myeclipse 换到 IDEA 有这么多坑?

  •  1
     
  •   Junjunya · 2018-05-09 16:50:12 +08:00 · 14957 次点击
    这是一个创建于 2392 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不是引战,只是单纯想吐槽下。
    最近半年断断续续的学了点 Java。Java 水平确实还很低,所以求不喷。
    公司项目一直是用 myeclipse 来写的 Web 项目。但是一直听说 IDEA 啥最好的编辑器的,并且平时写 PHP 也一直是 phpstorm 就打算把项目转到 IDEA 下开发。但是没想到坑居然那么多。

    1 会出现 BOM 头问题,
    2 不能直接识别 web.xml 里面 classpath。 按照网上说的 配置了相应的资源目录,但还是不能找到该目录下的配置文件
    3 每个项目都需要配置 tomcat

    网上说的是 IDEA 有很出色的快捷键,以及各种便利的操作。
    但是我还没体验到便利的操作的时候,就已经被劝退了。


    顺便再吐槽下 神奇的 Java,居然换 ide 就不能正常运行了。
    第 1 条附言  ·  2018-05-09 20:26:04 +08:00
    我也有点无奈
    听了大家说的,然后自己新建的项目试了试没有我说的问题,

    但是公司现在用的这个 SSM 的项目就是很多问题
    项目是基于 maven 的,目录结构是
    project 项目目录
    ├─src
    │ ├─main
    │ │ ├─basic 源码目录
    │ │ └─resources 配置文件目录 (死活读不到)
    │ └─test
    ├─WebRoot
    └─pox.xml
    复制了 web.xml 进去之后 就出现了很多报错

    其实公司项目也没我说的那么不堪了,只是因为我技术水平差而已,毕竟对 Java 来说,我还是学艺不精

    感觉大家的回复,确实 IDEA 与 myeclipse 在 tomcat、还有 classpath 方面有很多不一样的地方。只能是去慢慢学习
    两款都是很好 ide
    第 2 条附言  ·  2018-05-10 09:17:53 +08:00
    昨晚看了大家的回复,认真思考了一下,感觉还是自己 Java 水平太差了。
    虽然现在直接上手写业务代码没啥问题,但是还是 JavaWeb 配置、环境搭建方面了解的太少了。
    但是网上搜索了相关课程之后,感觉都讲解的比较浅。比如 web.xml 或者 pom.xml 几乎都是几句话就略过了。
    所以请教下各位大佬,有没有啥好的相关的教程。
    比如讲讲 JavaWeb 的原理、servlet、Spring 的实现原理之类的、Tomcat 启动的时候都发生了什么的教程
    谢谢大家了。
    42 条回复    2018-05-10 22:07:10 +08:00
    chenguoyu
        1
    chenguoyu  
       2018-05-09 16:59:50 +08:00 via iPhone
    同样是吃面,用筷子好还是叉子好?工具而已,习惯那个就用哪个咯
    tinyuu
        2
    tinyuu  
       2018-05-09 17:07:20 +08:00
    是你不会用啊。不是不好用啊。eclipse 和 idea 的使用方式差异有点大其实
    Junjunya
        3
    Junjunya  
    OP
       2018-05-09 17:09:06 +08:00
    但是 感觉就这么被劝退还是蛮不甘心的。
    所以各位大佬有啥好的使用 IDEA 搭建项目的教程么

    萌新大眼.jpg
    lurenw
        4
    lurenw  
       2018-05-09 17:10:49 +08:00   ❤️ 1
    1.BOM 头是编码选择的锅,不赖 IDEA 吧
    2.IDEA 对 resources 和 classpath 的识别和跳转还是很友好的,如果有问题,emmmm,应该是配错了
    3.tomcat 不是每个项目都应该单独配置么,开发机上跑多个 tomcat 的话,你不配怎么跑?
    yuhuan66666
        5
    yuhuan66666  
       2018-05-09 17:13:36 +08:00
    @Junjunya #3 极客学院 我记得有 带动图的 挺方便的

    别用 eclipse 的想法去对照 IDEA 功能,有很多不一样的地方

    网上找份全套 IDEA 快捷键的帖子 挨个试 就知道干啥的了 英语好的读 IDEA 的快捷键配置 更好了

    切记 千万别切换到 eclipse 快捷键方案 就用 IDEA 自己的快捷键
    kslr
        6
    kslr  
       2018-05-09 17:13:36 +08:00 via Android
    少年,你这个用法很非主流啊
    qinxi
        7
    qinxi  
       2018-05-09 17:17:43 +08:00
    我倒是还想吐槽你的代码.
    写的换个 IDE 都不能运行了.
    我对你们线上环境表示怀疑.
    一般项目 不要 IDE 都能运行

    cd xxx
    mvn package /gradle build
    salamanderMH
        8
    salamanderMH  
       2018-05-09 17:18:03 +08:00
    你还不熟而已
    Junjunya
        9
    Junjunya  
    OP
       2018-05-09 17:23:54 +08:00
    @lurenw
    1 BOM 头是编码的锅,但是用 Myeclipse 并没有这些问题,并且可以网上搜搜 大部分 Myeclipse 项目换到 IDEA 都会出这个问题。
    2 这个问题差不多捣鼓了一天了,基本的 maven 结构,src/main/resources 目录设置成 resorce 目录了。
    web.xml 中 <param-value>classpath:applicationContext.xml</param-value>这么写 就是找不到
    applicationContext.xml ……我也很绝望……
    depress
        10
    depress  
       2018-05-09 17:29:29 +08:00
    好不好是对你自己而言,别人觉得再好你用不好也白搭,没必要大家都说好就一定要换,换 IDE 也是需要时间成本的,尤其是 IDEA 和 Eclipse 系差别这么大,当你代码写的并不行云流水时,用什么 IDE 都一样,因为时间大部分还是浪费在代码本身上,什么用着舒服用什么,我从 MyEclipse 转到 IDEA 又转回了 MyEclipse,因为我觉得 MyEclipse 足够好用。
    niweicumt
        11
    niweicumt  
       2018-05-09 17:32:51 +08:00
    用了 Eclipse 和 Myeclipse 十年,三年前开始用 IDEA,之后 IDEA 做主力开发工具。
    看了这帖子在反思怎么我没碰到这么多坑。。
    28ms
        12
    28ms  
       2018-05-09 17:32:54 +08:00
    IDEA 是编辑器?小伙子你对 IDEA 有点误解啊
    Junjunya
        13
    Junjunya  
    OP
       2018-05-09 17:33:30 +08:00
    @qinxi
    @salamanderMH
    我是写 PHP 的,因为公司已经没有 PHP 项目了,小公司。我就兼职做点前端,偶尔也写点 Java 的东西,哪缺人我就去哪,没有系统学习过 Java。Java 项目也是公司搭建好的一个 SSM 项目包,基于这个开发。

    确实是换个 IDE 就不能运行了,我也问过公司 Java 开发,他也就粗略给我说了说,然后问烦了说就是这样 换个 ide 他也不熟…… 然后我自己研究了 .classpath .project 文件的作用。大约了解了之后就换 IDEA 试试,结果就遇到这些问题了。

    话说平时的项目的话,基本就是在自己电脑编译完,直接扔在 tomcat 下。
    Lonely
        14
    Lonely  
       2018-05-09 17:40:08 +08:00 via iPhone
    奇葩
    jakes
        15
    jakes  
       2018-05-09 17:43:15 +08:00
    楼主的 JAVA 项目本来就太不规范了,你花点时间改成规范的工程哪个 IDE 都可以识别运行。
    Miy4mori
        16
    Miy4mori  
       2018-05-09 17:45:03 +08:00
    你们项目都不用 maven,gradle 之类的吗
    Luckyray
        17
    Luckyray  
       2018-05-09 17:50:31 +08:00
    你使用习惯的问题,我从 eclipse 转到 IDEA 的过程中感觉出现最多的问题就是项目结构、tomcat 这两块的问题,熟悉了 IDEA 的用法就好了。
    catinred
        18
    catinred  
       2018-05-09 17:57:16 +08:00
    可能是没转换成 Maven 项目的原因吧?不确定你的工程项目是怎么导入到 Idea 的。
    gundamex
        19
    gundamex  
       2018-05-09 18:08:38 +08:00 via iPhone
    idea 内存占用太大,上个 glassfish 16g 都嫌卡
    现在果断换用 vscode 写 java
    ZSeptember
        20
    ZSeptember  
       2018-05-09 19:24:47 +08:00
    mvn,gradle 了解一下。。
    fanjianhang
        21
    fanjianhang  
       2018-05-09 19:28:22 +08:00 via Android
    楼主多学习下使用方法吧,也是刚转 idea,绝对是个很棒的 ide,很赞
    imnpc
        22
    imnpc  
       2018-05-09 19:42:28 +08:00
    内存才是坑好吧 8G 勉强运行 16G 正常模式 32G 高级开发模式
    yinzhili
        23
    yinzhili  
       2018-05-09 19:54:12 +08:00
    1 这个是原始代码文件的锅,不必甩给 ide
    2 这个要看你项目具体结构
    3 单独配置 tomcat 是最符合实际需求的,比如不同项目所用的 jvm 版本、启动参数都有可能不同

    一直用 eclipse 的思维来看待的话,你甚至会发现 idea 居然没有 eclipse 里的那种 workspace,是不是更不爽
    yagamilin1120
        24
    yagamilin1120  
       2018-05-09 20:01:45 +08:00
    只能说你还没适应。。现在写 c++、python、java 我都用这个了
    zjp
        25
    zjp  
       2018-05-09 20:08:38 +08:00 via Android
    在用 maven 之前,打包 jar、运行 tomcat 我都用 IDEA 自带的,后来发现换个 ide 就懵逼了。这种事情就应该交给构建工具做
    tedzhou1221
        26
    tedzhou1221  
       2018-05-09 20:24:40 +08:00 via Android
    为什么要配置 tomcat 呢?
    因为配置了 Tomcat 之后,idea 会根据不同的项目复制一份 tomcat 配置到你系统的用户配置目录里。
    每次运行都是有复制出来的那份配置

    好处:每个项目的 Tomcat 可能会有不一样的配置,你设置 tomcat 选择的 tomcat 可以是同一个,但每个项目运行的配置是不会一样的
    ycbb123
        28
    ycbb123  
       2018-05-09 20:41:37 +08:00
    因为你的目录结构不是标准的 maven 项目结构
    indomi
        29
    indomi  
       2018-05-10 00:10:52 +08:00 via Android
    正常。我今天还遇到这个事情。前两天用的 eclipse。觉得难用还是喜欢以前的 idea。结果这边刚引入项目就报错。配置 tomcat 也跑不起来。报错就是因为 classpath 的问题。结果到最后发现是 pom.xml 配置写错了一行。但是在 eclipse 就什么错也没有
    真的是很精彩呢(*゚∀゚*)
    bravecarrot
        30
    bravecarrot  
       2018-05-10 00:26:07 +08:00 via iPhone
    jetbrains 家东西很好用 但是 idea 有点复杂?

    之前一直写 py 和 c#,去年接到一个必须 java 的项目,
    用 idea 连蒙带猜再加复制粘贴 弄了个 web+分布式 到项目完成 idea 都没完全会用...
    sonyxperia
        31
    sonyxperia  
       2018-05-10 09:00:45 +08:00
    试试在 resources 文件夹上右键,下方有个 mark directory as 菜单,标记为 source root
    Junjunya
        32
    Junjunya  
    OP
       2018-05-10 09:04:44 +08:00
    @indomi 有点好奇出现这种问题的原因是啥,
    为啥 写错了一行配置,eclipse 还可以正常运行?

    @bravecarrot jetbrains 家的东西确实很好用, 我写 PHP 用的 phpstorm C 语言用的 clion 都感觉蛮好的
    但是用 IDEA 写 eclipse 的项目就有很多问题
    可能是因为 Java 这个项目不是新建的项目,在 eclipse 下隐藏了很多坑,换了 IDEA 坑就出来了
    Mazexal
        33
    Mazexal  
       2018-05-10 09:13:49 +08:00
    最好用的 IDEA 难道不是 vs 么????
    nl101531
        34
    nl101531  
       2018-05-10 09:32:56 +08:00 via Android
    来 meek 的群吧,就是写极客学院 IDEA 教程的作者。
    Junjunya
        35
    Junjunya  
    OP
       2018-05-10 09:38:57 +08:00
    @sonyxperia 已经这么试过了,我现在觉得问题就是出在配置文件估计有写错的地方

    因为我自己在 IDEA 重新搭建的 SSM 并没有我说的问题。

    @nl101531 群号方便说一下么
    zhouquan03
        36
    zhouquan03  
       2018-05-10 09:42:43 +08:00
    估计没用 maven 吧 哈哈
    murmur
        37
    murmur  
       2018-05-10 09:47:58 +08:00
    不要导入 eclipse 的配置 把 eclipse 的配置全删了用 idea 另起炉灶吧
    nl101531
        38
    nl101531  
       2018-05-10 09:54:26 +08:00
    zhaogaz
        39
    zhaogaz  
       2018-05-10 10:12:43 +08:00
    @zjp emmm,意思是在 maven 的配置文件里,配置服务器等各种东西么?功能是插件提供的吗?我扫过不少 maven 教程,好像没看过类似的?给个思路?
    nyanyh
        40
    nyanyh  
       2018-05-10 13:42:43 +08:00
    @Mazexal IDEA 是特定一个软件,你说的是 IDE ……
    zjp
        41
    zjp  
       2018-05-10 14:08:37 +08:00 via Android
    @zhaogaz maven 插件,jetty 的插件叫 jetty-maven-plugin,没怎么用 tomcat …
    mseasons
        42
    mseasons  
       2018-05-10 22:07:10 +08:00
    PHP 也是最好的语言,你换过去实时.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2359 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:09 · PVG 00:09 · LAX 08:09 · JFK 11:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.