一、compiler output和artifacts output目录
file -> Project Structure…,打开项目配置页
1、Project compiler output
Project compiler output表示build Project时生成的编译后.class文件及resources文件存放目录(包括test)。
如果指定了目录,则所属所有模块的compiler output可以继承该目录,即项目所有模块的compiler output都会在此根目录下,如下图所示设置:
2、Modules compiler output
Molules compiler output表示build Project时各个模块生成的编译后.class文件及resources文件存放目录(包括test)。
可以继承Project,也可以指定自己的。如下图所示设置:
注: IDEA2017.2之后版本,采用Gradle构建项目时,会采用Gradle的配置,而无视此步IDEA对modules output的配置,每次Gradle reimport都会重置此步配置。这就出现有两个out目录或者我明明在IDEA Project Structure指定了output但是gradle reimport后配置失效了。参见:
https://stackoverflow.com/questions/45174989/building-with-intellij-2017-2-out-directory-duplicates-files-in-build-director/46035904#46035904
3、Artifacts compiler output
Artifacts compiler output表示build Artifacts后生成的war包(或jar)以及对应exploded文件存放目录。如下图所示设置:
这里强调下:如想每次rebuild project时,更新tomcat部署下的classes和resources,需要选中Include in project build