idea的一些使用技巧(第八篇IntelliJIDEA中Module的使用)
idea的一些使用技巧(第八篇IntelliJIDEA中Module的使用)首先,在项目上右键,并把光标移到New上,这时你会看到在弹出来的下拉列表中的第一个选项就是Module...,可见创建模块的操作是比较常用的。如果开发的项目比较小,那么我们就没有必要给它创建多个模块了,在咱们的这个顶级的Project下面去书写代码就行了。但是,一旦开发的项目比较大的话,那我们就需要创建多个模块了。下面,我来给大家演示一下模块的创建。在该Project下我们再放的就不是Project,而是Module了,所以,以后当某人再说Project,你得清楚到底是IntelliJ IDEA当中的Project,还是Eclipse下的Project。那么,IntelliJ IDEA为什么要这样设置呢?这是因为现在主流的大型项目都是分布式部署的,必然一个项目下就会有多个模块,于是这就对应着,项目就是Project,其下面的模块就是Module。对于一个大型项目而言,它下面是有很多个模块的
写完第一个Hello World入门程序之后,我们来说一个新的概念,叫Module,翻译过来是模块,该概念在咱们之前使用的Eclipse中是闻所未闻的。
在Eclipse当中是有Workspace(工作空间)和Project(工程)这样的概念的,想必用Eclipse做过开发的同学,应该是非常熟悉了。而在IntelliJ IDEA当中,首先我们在启动的时候就说过了,它是没有Workspace(工作空间)这样的概念的,一上来说的就是Project(工程)这样的概念。此外,IntelliJ IDEA还提出了一个新的概念,即Module(模块)。
在IntelliJ IDEA官网中有对Project(工程)和Module(模块)这两个概念的解释,它大概说的是Eclipse当中的Workspace和IntelliJ IDEA当中的Project是相似的,Eclipse当中的Project和IntelliJ IDEA当中的Module是存在对应关系的。大家要知道它们只是一个相当于的意思,千万不可把它们真的理解成是一个完全对应的概念,不知道你明白没?
在Eclipse当中,通常情况下,一个工作空间中我们会放很多个Project,但是这在IntelliJ IDEA当中是做不到的,在IntelliJ IDEA当中,我们只有一个顶级的Project例如HelloLiayun,如下图所示,这里再说一遍,你可以把该Project想像成咱们在Eclipse当中的Workspace。
在该Project下我们再放的就不是Project,而是Module了,所以,以后当某人再说Project,你得清楚到底是IntelliJ IDEA当中的Project,还是Eclipse下的Project。
那么,IntelliJ IDEA为什么要这样设置呢?这是因为现在主流的大型项目都是分布式部署的,必然一个项目下就会有多个模块,于是这就对应着,项目就是Project,其下面的模块就是Module。对于一个大型项目而言,它下面是有很多个模块的,比如core Module(核心的模块)、web Module(web模块)、plugin Module(插件模块)以及solr Module(solr模块)等等,它们相互之间彼此依赖,也即它们彼此之间是可以相互调用的。就拿下面这个电商项目来说,我们就在顶级的Project下面创建了多个模块,而且它们彼此之间是可以相互调用的。
为啥要在一个Project下面创建了多个模块呢?这是因为在真实开发当中,极有可能不同的模块是由不同的人来完成的。
如果开发的项目比较小,那么我们就没有必要给它创建多个模块了,在咱们的这个顶级的Project下面去书写代码就行了。但是,一旦开发的项目比较大的话,那我们就需要创建多个模块了。下面,我来给大家演示一下模块的创建。
如何创建Module呢?首先,在项目上右键,并把光标移到New上,这时你会看到在弹出来的下拉列表中的第一个选项就是Module...,可见创建模块的操作是比较常用的。
这时你会看到一个如下图所示的对话框,这里需要明确的是咱们现在创建的只是一个普通Java工程的模块,后续创建模块的时候可能会有所变化,因为你需要选择是创建一个普通Java工程的模块,还是创建一个web工程的模块。
然后,点击Next按钮,并给我们当前的Module起个名字,不妨就叫做Module01,该模块就在咱们当前的工程下。
接着,点击Finish按钮,这时候你会发现在当前工程下生成了一个Module01这样的模块,如下图所示。
当打开新建的模块之后,你会发现它里面也有src目录,不用想我们的代码就得写在该目录下。不妨我们就在该src目录下新建一个包,并在该包下新建一个类。依次这样做,想必你会觉得很麻烦,那有没有更加简便的方法呢?有,那就是直接创建Class,如下图所示。
此时,我们在写类名时,可以写成包名.类名这种形式,例如com.meimeixia.bean.Customer,如下图所示。
可以看到,我们在创建类时,在其前面指定了包名,这样,当我们回车以后,IntelliJ IDEA就会自动地帮我们把这个包创建好,自然地该包下的类也就被创建好了,如下图所示。
以上就是一个JavaBean,正常情况下在该JavaBean中我们是不会编写一个main方法来输出一句什么话的,不过,这里为了演示,所以就在该JavaBean中编写了一个main方法,并在该main方法中输出一句Hello World。
唉,你是不是在写以上代码的过程中,老是在不自觉地按Ctrl S啊,其实没有必要了啊!
紧接着,我们不妨来运行一下以上main方法,这时候,你就会看到控制台打印出了Hello World这样的内容,如下图所示,这就是Module的一个执行效果。
以后的话,如果大家开发的项目比较大,那么你就可以在当前工程下去创建不同的Module了。不妨我们再在当前工程下新建一个Module,例如Module02,如下图所示,由于创建步骤同上,所以这里我就不再赘述一遍了。
至此,我们就知道了在IntelliJ IDEA中模块是如何创建的了。
如何删除Module呢?有些同学会问了,那如何来删除Module呢?IntelliJ IDEA中的Module有点像以前Eclipse中的Project,在Eclipse当中,如果我们不想要某个Project了,那么直接右键它作一个Delete(删除)操作就行了。但现在是在IntelliJ IDEA中了,在IntelliJ IDEA中怎样来删除Project下的某个Module呢?可不可以也右键它,然后作一个Delete(删除)操作呢?不可以,因为从下图中可以看到并没有这样的删除操作。
在删除某个Module之前,你得问问自己是不是确实不想要它了,而且这里的不想要还指的是从对应的硬盘下把这个Module干掉。
大家可以看一下你当前工程是存放在了哪个地方,比如笔者本人是将当前工程存放在了C:\Users\32120\IdeaProjects\HelloLiayun目录下,如下图所示。
可以看到当前工程(即HelloLiayun)下确实是有Module01和Module02这两个模块,对应在硬盘中就是两个文件夹。
那么怎么把Module02这个模块给删除掉呢?通常大家可以这样来操作,右键Module02这个模块,然后在弹出的下拉列表中选择Open Module Settings,如下图所示
这时,我们能看到当前的Project以及它下面的两个Module,如下图所示。
如果我们确实是不想要Module02这个模块了,那么可以点一下下图中的那个-号,当然了前提是你得要选中要删除的Module。
这时,会弹出一个小窗口,点击其中的Yes按钮即可。
这时,你便会看不到Module02这个模块了,如下图所示,接着点击OK按钮以关闭Project Structure窗口。
此时,你会发现Module02这个模块竟然还存在着,如下图所示,它不是已经被删除了吗,怎么还会存在啊!
但是还是有细微变化的,眼尖的同学能够看出来,那就是Module02这个模块显示的字体与Module01这个模块不一样,也就是说,它现在其实不是以一个Module(模块)的功能来显示的。
很显然,此时并没有从我们的硬盘上把Module02这个文件夹干掉。这个时候,我们不妨再次右键一下Module02这个东东,你会发现弹出的下拉列表中终于有了Delete(删除)操作。
现在是否可以得出这样一个结论:只有要删除的模块不是一个模块以后,它才有Delete操作,这实际上也是对Module的一个保护,以防大家误操作,一不小心给Delete了,这样,那硬盘中可就真的没有了。
OK,现在对Module02这个东东(它已经不是模块了)作Delete操作,又会弹出如下这样一个小窗口,直接点击Delete按钮即可。
此时,你会发现在当前工程下就没有Module02这个东东了,如下图所示。
而且,硬盘中也不存在Module02这样的文件夹了。
至此,大家可以根据自己的需要,来删除你确实想要删除的某一个模块了。
总结这儿,我们说了一下Module和Project的概念,大家一定要弄清楚哟,因为这个是比较重要的。
其实,我们还可以查看一下当前工程的结构(即Project Structure),共有两种方式可以查看,它们分别是:
第一种方式:点击工具栏中红圈圈中的小图标
第二种方式:点击File菜单,在其下拉列表中选中Project Structure...这一项
不管哪种方式,都能打开如下这样的一个窗口。
以上就是我们当前工程的一个基本信息,当然了,你也可以根据自己的需要去做修改。
刚刚我们提到了,生成的字节码文件都是放在了当前工程的out目录下,我们去看看到底是不是这回事啊,如下图所示,确实是这回事。
如果我的这篇文章写得很好,那么请记得点赞、评论和关注哟~
版权声明:本文为CSDN博主「李阿昀」的原创文章
原文链接:https://blog.csdn.net/yerenyuan_pku/article/details/115249115