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

有必要手动配 IDEA 的项目结构文件(iml 和.idea)吗?是不是用 Maven 就可以生成 IDEA 项目结构了

  •  
  •   movq · 35 天前 · 1119 次点击
    这是一个创建于 35 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个已有的大型 Java 多模块项目,原来既不是 Maven 也不是 IDEA 。现在改用 IDEA 进行开发,是配 IDEA 的项目结构,还是直接 Maven 配好,IDEA 按照 pom 文件导入?

    想请教以下问题:

    • 用 Maven 比用 IDEA 进行项目管理有什么优势吗?

    我能想到的一点就是用 Maven 管理项目,可以不用和 IDE 绑定。以后如果不用 IDEA 了,也可以直接迁移到别的 IDE 。

    • Maven 的 pom 映射到 IDEA 的项目定义,会有信息丢失吗?

    也就是说,maven 管理项目的表达能力是不是超过了 IDEA 的?

    7 条回复    2024-03-25 00:28:05 +08:00
    gejun123456
        1
    gejun123456  
       35 天前
    直接 maven 吧,IDEA 会去识别 maven 的配置,换电脑或者团队合作不用再去配置。
    tdiant
        2
    tdiant  
       35 天前   ❤️ 1
    唔,咱有一些很主观的见解。在很久的时候咱看到过有一些人在争论.idea 文件夹要不要同步到 git 仓库里的问题,讨论的就比较激烈,所以类比一下,这个问题大家应该都各有看法的。

    我觉得项目应该用 Maven ,同时也应该保留.idea 文件夹之类的 IDEA 文件。

    1. 首先是该用 Maven ,因为 Maven 提供了项目模块管理,build 的时候很方便,可以直接在命令行里实现 build 。比如,如果项目有对 CI/CD 需求,不用 Maven 或者 Gradle 的话可能配置自动构建很困难,至少咱刚才简单搜了一下没搜到一个纯 IDEA 项目怎么在命令行里很方便的 build 。妥善用了 Maven 会给项目模块的管理带来便利,应该是利好项目管理的。
    2. 团队如果都在使用 IDEA ,保留.idea 文件夹是有价值的。还是说最开头咱说的“git 仓库要不要加.idea 文件夹”的问题,我觉得是要的。团队开发某个项目可能需要链接一个大家都在用的测试数据库,IDEA 右面有数据库管理,这个东西在写 JPA 之类的东西时显然是很有用,而这个配置会保存在.idea 文件夹里,一个人配置好可以方便其他人。.idea 文件夹里本来就有.gitignore ,这个文件夹里的东西哪个需要 push 到仓库,哪个不需要,是已经规划好的,而不是一股脑都会传。

    所以我觉得 maven 的管理项目表达能力没有超过 IDEA ,但是他也有 IDEA 管理项目时带来不了的优势,小孩子才做选择,干脆都要吧(
    kneo
        3
    kneo  
       35 天前 via Android
    idea 文件禁止提交到 git 。没商量。
    短期项目也就罢了,时间长了每个人多多少少都会有点私货。不要为了照顾不知道什么时候才会来的新手给大家添麻烦。
    macaodoll
        4
    macaodoll  
       34 天前 via Android
    楼主学生?问这个
    yuezk
        5
    yuezk  
       34 天前
    > Maven 的 pom 映射到 IDEA 的项目定义,会有信息丢失吗?

    个人经验,没有遇到过,要相信商业 IDEA 的质量。

    > 也就是说,maven 管理项目的表达能力是不是超过了 IDEA 的?

    个人认为是的,但是我更推荐用 Gradle 管理项目,比 Maven 的 XML 配置灵活不少。IDEA 对 Gradle 的支持也非常棒,我们内部的一个很复杂的项目用的就是 Gradle ,用 IDEA 打开没有任何问题。
    movq
        6
    movq  
    OP
       34 天前
    @kneo IDEA 的配置文件,有一部分是项目结构,有一部分是个人配置。个人配置的那部分不添加到 git 管理就行了
    liuzhihang
        7
    liuzhihang  
       34 天前 via iPhone
    建议用 maven 因为很多插件以及工程的个性化设置是在.idea 目录下面的。这个插件可能别人根本不想安装。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   982 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.