有个已有的大型 Java 多模块项目,原来既不是 Maven 也不是 IDEA 。现在改用 IDEA 进行开发,是配 IDEA 的项目结构,还是直接 Maven 配好,IDEA 按照 pom 文件导入?
想请教以下问题:
我能想到的一点就是用 Maven 管理项目,可以不用和 IDE 绑定。以后如果不用 IDEA 了,也可以直接迁移到别的 IDE 。
也就是说,maven 管理项目的表达能力是不是超过了 IDEA 的?
1
gejun123456 236 天前
直接 maven 吧,IDEA 会去识别 maven 的配置,换电脑或者团队合作不用再去配置。
|
2
tdiant 236 天前 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 管理项目时带来不了的优势,小孩子才做选择,干脆都要吧( |
3
kneo 236 天前 via Android
idea 文件禁止提交到 git 。没商量。
短期项目也就罢了,时间长了每个人多多少少都会有点私货。不要为了照顾不知道什么时候才会来的新手给大家添麻烦。 |
4
macaodoll 236 天前 via Android
楼主学生?问这个
|
5
yuezk 236 天前
> Maven 的 pom 映射到 IDEA 的项目定义,会有信息丢失吗?
个人经验,没有遇到过,要相信商业 IDEA 的质量。 > 也就是说,maven 管理项目的表达能力是不是超过了 IDEA 的? 个人认为是的,但是我更推荐用 Gradle 管理项目,比 Maven 的 XML 配置灵活不少。IDEA 对 Gradle 的支持也非常棒,我们内部的一个很复杂的项目用的就是 Gradle ,用 IDEA 打开没有任何问题。 |
7
liuzhihang 235 天前 via iPhone
建议用 maven 因为很多插件以及工程的个性化设置是在.idea 目录下面的。这个插件可能别人根本不想安装。
|