@IntelliJ IDEA第13部分(视频教程):基本概念+项目配置专讲

发表于 2014 年 3 月 1 日 by Judas.n

IntelliJ IDEA第13部分(视频教程):基本概念+项目配置专讲

目前我有遇到一个国外前辈整理的最好的较好的入门资料:(感谢William Leung兄)
http://hadihariri.com/2014/01/06/intellij-idea-minimal-survival-guide/
因为是英文的,所以建议英文不好的要用软件翻译下,但是也要同时开一个英文界面的,进行两者对比,有些IntelliJ IDEA专业术语,被翻译之后会很难理解。
还有一位前辈是在IntelliJ IDEA中国官网微博里面提到的一篇文章,讲述Eclipse到IntelliJ IDEA的:(作者是牛逼轰轰的Anton Arhipov == is JRebel Product Lead at ZeroTurnaround)(关于我对IntelliJ IDEA的project与module的想法,也在这里得到提现,看来只有大牛的话才是有说服力的!!)
http://zeroturnaround.com/rebellabs/getting-started-with-intellij-idea-as-an-eclipse-user/

我们最重要的是看官网文档,而官网的文档真是好得不得了,真心的。但是这里有一个前提需要跟一些新手唠叨一下。这新文档因为全部都是英文的,所以如果你英文不好,那就先不要看,先看我的视频教程:熟悉IntelliJ IDEA各种布局、配置、玩法、概念之后,你再来看这个文档,到时候即使你英文还是跟我一般的差,没事,让google帮你翻译,你一定看得懂的,因为一些配图和它特有的名字介绍你都接触过了,看起来没压力(觉大多数的情况下。)

这次讲解主要要解决这几点:
①用IntelliJ IDEA配置一个纯Java的项目,以HttpClient为例(通过everything查看电脑变化)
②用IntelliJ IDEA配置一个SpringMVC项目出来(通过everything查看电脑变化)
③Web项目打war包(通过everything查看电脑变化)
④了解IntelliJ IDEA配置目录下的tomcat目录


Project和Module的关系:
http://t.cn/8F0PvQd

Project的介绍:
http://www.jetbrains.com/idea/webhelp/project.html
一个项目是一个组织单位,代表一个完整的软件解决方案。你的成品可能被分解成一系列离散的,孤立的模块,但它是一个项目定义,把它们放在一起,把他们捆绑成一个更大的整体。项目本身并不包含开发工件,如源代码,建立脚本或文档。他们是在IDE中最高级别的组织,定义项目范围的设置以及指什么IntelliJ IDEA的模块和 库的集合。

language level这个,我们可以粗鲁地认为:
JDK1.5==5.0
JDK1.6==6.0
….
JDK1.5新特性有枚举,所以你可以看到有枚举字样选项。
JDK1.6和JDK1.5的@Override稍微有点区别, JDK1.6覆盖父类方法与实现接口方法都可以认为override(网络是这样说的。。囧)
所以对于这个设置我们举个例子:
假如你家里电脑安装的是JDK1.7,但是你这个项目在公司开发的时候用的是JDK1.6,里面有些规范也是JDK1.6的,所以你放在家里的时候,你可能为了保证让IntelliJ IDEA对你的代码进行编译、检查、建议都是使用JDK1.6那种规范,所以我们就会选择了这个。但是这个一般都是选于你当前机子JDK一致的,建议只能是低于你当前JDK,也不要高于。这个比较容易出错,至少我是这样理解的。是否对,大家可以给我反馈!
关于level的资料,大家可以看:
http://stackoverflow.com/questions/17714584/what-is-project-language-level-in-intellij-idea

Module的介绍:
一个模块是一个独立的功能单元,可以被编译,运行,测试和调试独立。
module可以被分组
http://www.jetbrains.com/idea/webhelp/module.html
http://www.jetbrains.com/idea/webhelp/processing-order.html
module的Dependencies的面板里面的lib包顺序是依赖顺序,不能乱排序,容易引起包冲突

Libraries的介绍:
maven库,jar库,文件夹库,在jar还可以指定源码。libraries,属于project级别的,管理整个project里面的jar包集合。哪些module需要哪些jar包,就可以在module里面的一个设置:dependencies里面进行加入。

Facet的介绍:
理解为配置框架的地方,比如Spring,hibernate等
http://www.jetbrains.com/idea/webhelp/facet.html
http://www.jetbrains.com/idea/webhelp/available-facets-and-their-dependencies.html
框架的数量有限制

Artifacts的介绍:
相当于是你打算最后把这个project变成什么样子。Artifacts一般我们是最后配置的,前面的几个配置会在后面我们配置artifacts的时候自动帮我们去判断前面配置有哪些,然后自动帮我们加进来。所以如果有时候你更改了前面几个配置,很多时候artifacts会报错的,有时候不报错。如果IntelliJ IDEA抽风了,建议你可以考虑删掉你的artifacts配置,重新配一次一次,防止某些蛋疼的事情发生这很关键。除了可以给常规的web项目打包,还可以给Android项目打包,给EJB的,给普通纯Java,或是把一个项目打成jar文件,都是在这里。


下载视频下载(如果链接被屏蔽,请加我百度云账号:judasn)



文章分类: IntelliJ IDEA专讲, 软件/系统   标签:   链接地址: http://www.youmeek.com/intellij-idea-part-xiii-project-structure-and-module-structure/