竹笋

首页 » 问答 » 环境 » IDEA的Project优点有哪些
TUhjnbcbe - 2023/10/9 17:41:00
治疗白癜风的特效药 http://disease.39.net/bjzkbdfyy/170830/5661850.html

有一个观点:若一个Java开发者能把IDEA玩得,则技术一定不会差;但若玩不转IDEA(如不会设置、定制、解决日常问题、快捷键等等),那大概率水平很一般。因为高手一般得有高手的样子,你同意这个观点吗?

现今的Javaer绝大部分都使用IntelliJIDEA作为IDE进行开发,但同时发现(从身边同事调查)大部分同学都并不能很好的使用IDEA,其中表现最为突出的是IDEA里的Project和Module两个概念,混淆不清或者概念完全扭曲。

本人是一个相对来讲很注重基础知识搭建的Javaer,所以对于最常用的工具也是如此,愿意花些时间去搞明白,包括页布局、功能定制、插件、以及快捷键都会调为自己最顺手的状态,毕竟工欲善其事,必先利其器。

本文将着眼于帮你深入的介绍IntelliJIDEA里最重要的两个概念:Project和Module,它是最最最基础也是最重要的,我认为本文不仅适合使用IDEA的萌新,同样适合使用IDEA的“老手”(曾经eclipse的重度用户尤甚)。

本文提纲

版本约定

IntelliJIDEA:.3.1

正文

IntelliJIDEA相较于Eclipse可谓是后起之秀,年开始崭露头角,年整体性能上完败Eclipse,年市场份额完成全面超越,一步步的逐渐成为JVM平台的主流IDE。

正是由于有这样的历史进程,有大批“老”程序员是从Eclipse过度到IDEA来的,因此就有了一个颇具代表性的概念对比表格,方便“迁移”:

诚然,IntelliJIDEA的使用成本比eclipse略高,在那样的历史背景下,这张表格确实降低了“老”程序员们的迁移过度成本,即使现在看来这张表格的描述并不准确,设置具有极大的误导作用(副作用开始展现......)。

IDEA和eclipse的概念类比上,最“著名”的当属把IDEA的Project比作Eclipse的Workspace,回忆下你当初是不是经常听到这样的声音?博客文章这样说、培训机构老师这样说、甚至大学的老师也是教你这么去理解的。更有甚者,对于很多“中*”很深的、曾经的eclipse用户来说,他们是这样使用IDEA的:

实现了所谓的:IDEA在同一窗口显示多个项目。若你发现你身边有这么样管理项目的同事,那么他是你的“前辈”没跑了,因为铁定是eclipse的资深用户,然后迁移到IDEA来。

这种做法是错误的,毫不相干的项目(远程调用不叫有关系)没有理由放在同一视窗内,除了干扰还是干扰。Eclipse里有workspace工作空间的概念尚可理解,可IDEA里是绝对不要这么做。

在IntelliJIDEA中,没有类似于Eclipse工作空间(Workspace)的概念,而是提出了Project和Module这两个概念。本文来告诉你,IntelliJIDEA是如何管理项目Project、模块Module以及它俩关系,看完之后你会发现单这一点IntelliJIDEA就比Eclipse优秀得多。

Project和Module概念

什么是Project

Eclipse中一个Workspace可以包括多个Project,而在IDEA里Project是顶级概念。

Project(翻译为:项目)IntelliJIDEA的顶级组织单元,它是个逻辑概念。一般来说一个Project代表一个完整的解决方案,如它可包含多个部分,如:

源代码

构建脚本

配置文件

文档

SDK

依赖库

...

也就是说Project是个完整体,是个资源的集合,扔到任何地方都是可以被解释的。

说明:建议把Project翻译为项目,而非工程,不在一个维度。因为一个module其实也可以理解为一个工程,避免混淆

什么是Module

模块是是项目Project的一部分,必须隶属于Project而存在。它可以独立编译、测试、运行甚至部署。

模块是分而治之思想的体现,是降低大型项目复杂度的一种有效手段。模块是可重用的,若需要,一个模块可以被多个模块引用,甚至多个Project项目引用(比如

1
查看完整版本: IDEA的Project优点有哪些