IntelliJ IDEA的Web应用的目录结构web
Ø 目录图:eclipse
Ø 目录解释:ide
开发目录工具 |
|
目录名称测试 |
描述spa |
Testip |
工程名称ci |
lib资源 |
Jar包的存放目录开发 |
src |
源文件也就是文件(类,资源文件)存放的目录 |
test |
测试用例文件(类、资源文件)测存放的目录 |
web |
WEB根目录,存放WEB资源 |
WEB-INF |
配置文件存放目录 |
Module的输出目录 |
|
目录名称 |
描述 |
out |
当前工程的输出,包括全部的资源和类文件 |
Exploded |
工程的输出目录 |
TestWeb |
工程在容器中运行的别名 |
production |
类文件的输出目录 |
Test |
工程名称,准确的说应该是模块的名称,存放src编译后文件,都输出到这里了 |
test |
测试的类文件目录 |
Test |
工程名称,准确的说应该是模块的名称,存放test编译后的类和资源文件,都输出到这里了 |
Ø 首先我要说一点,在IntelliJ IDEA里面“new Project”就至关于咱们eclipse的“workspace”,而“new Module”才是建立一个工程,这是要注意的一点。
Ø 咱们会发现,在用IntelliJ IDEA 进行开发的时候,会有2个目录,一个是“开发目录”,用来常常进行咱们的开发操做,是可见的,另外一个就是“输出目录”,这个环境目录,咱们是看不见的,也就是在IDEA里面看不见,咱们在实际的路径中能看到,其实这个环境目录就至关于咱们的容器的当前环境,咱们一般的作法是把容器的虚拟目录指定到一个目录,这里IntelliJ IDEA会默认把当前环境指定到out里面,这样一来不用再往容器里面发布了,节省了开发时间。
Ø 咱们会发现,lib居然和src成了同级目录了,常理应该放在WEB-INF下面的,这是IntelliJ IDEA默认的,固然,这个目录咱们也能够改回“WEB-INF”下面,这是一点。
Ø 接着咱们会发现,没有classes目录,常理,它也应该在“WEB-INF”下面呀,是在,一下子我在告诉你,他藏到哪里去了,呵呵。
Ø 而后就是输出目录了,我来给你们逐步解释,咱们能够打开实际的目录结构来查看,“production”这个目录放的是全部工程文件(类,和资源)文件,也就是全部放在src下面的全部文件。下面的“Test”就是工程的名称,在IntelliJ IDEA就是Module的名称,由于能够有多个Module。咱们只要“Make Module”的时候,编译后的文件,都会自动发布过来。这里我只有一个Module,就是“Test”,因此下面就一个“Test”目录。
Ø 如今就是“test”,这个目录就是咱们测试用例,咱们全部的测试类和资源文件,都会编译到这里了,下面是咱们的工程名,记住,在IntelliJ IDEA里面叫Module,呵呵
Ø “Exploded”就是真正运行的目录,由于咱们能够有多个“Module”,当在ide里面选择运行哪一个“Module”的时候,环境将指定到哪里目录,而后就是“TestWeb”,这个就是咱们运行的Web程序的别名,它会自动给你加上“web”用于区分吧。而后这个“TestWeb”就是咱们当前环境的目录了,若是你仔细看,你会发现,这个目录符合咱们发布到容器里面的目录,个人意思是说,在“WEB-INF”下面居然会有“classes”、“lib”目录,原来才知道这都是由容器自动完成,只是开发目录和日常的目录有变化,可是运行目录没有区别。
Ø IntelliJ IDEA不支持自动编译,也就是说不能像Eclipse那样,自动编译class,IntelliJ IDEA必须由咱们Make进行。
Ø IntelliJ IDEA不支持热发布,咱们日常在Eclipse里面改页面的时候不须要启动容器,直接就能刷新过来了,可是IntelliJ IDEA不行,由于须要Make,和输出(out),这里须要一些技巧,立刻就讲到。
IntelliJ IDEA部署技巧
Ø 上面的目录结构,都是工具默认的,这里咱们改变它的目录结构,来提升开发效率。
Ø 刚才说到,IntelliJ IDEA不支持热发布,就由于改个页面咱们去重启容器,是很浪费时间的,也很麻烦。咱们经过改变目录来解决这个问题。
n 在“Project Settings”里面“Modules”也就是咱们工程的名字,而后“Paths”,这是没改为前的图:
n 咱们把目录改变后的以下:
而后咱们“Make Module“,发现文件都编译到classes下了。和咱们之前的同样了吧。哈
n 而后仍是在“Project Settings”里面,“Modules”而后点来你右边的Modules名字,你会发现有个Web的子节点,这里记得光标要放在“Web”节点上,而后看右边有个配置页面,未改变前如图:
到这里,你会发现有个Web Facet Exploede Directory,而后咱们改变这个目录,指向当前工程的Web跟节点便可。
n 以下图:
*:注意 Exclude from module content勾去掉,否则会有webroot不见了的现象
n 而后咱们启动容器,随便的编辑页面,而后点击刷新,发现页面当即能显示出来了,哈,这样开发是否是省去不少重启容器的时间,呵呵。