在IntelliJ IDEA中,如何在构建期间将非源资产复制到输出文件夹?

时间:2014-10-03 06:57:18

标签: intellij-idea build

我在IntelliJ IDEA中有一个项目,里面有几个模块,我的一个模块有两个构建配置。其中一个需要将<projectroot>/tools文件夹复制到其out/production/<BuildConfigurationName>文件夹。 IDEA可以以某种方式实现自动化吗?

2 个答案:

答案 0 :(得分:3)

上面接受的答案是错误的。 IDEA可以通过工件系统(通过“构建”菜单或项目设置访问)执行此操作(无需ant / gradle)。任何一个工件作业都会将多个文件/文件夹/构建输出复制到选定位置(可选择震动),并且可以设置为自动运行make。

甚至可以链接伪像,即从一个输出作为另一个输入。

答案 1 :(得分:2)

  

IDEA可以以某种方式实现自动化吗?

不直接,不。最终,IDEA是一个IDE而不是构建工具。虽然它在构建期间可以做很多事情,但是它无法将非源文件复制到备用目录,更不用说动态命名的目录了。

如果您将tools目录标记为源目录(并且在“文件类型”设置对话框底部的“忽略文件和文件夹”设置中未设置任何包含的文件类型),则IDEA然后将tools目录复制到out目录。但重命名需要更复杂的构建工具。

最终,“理想”或“最佳实践”解决方案是使用像Maven,Gradle或Ant这样的构建工具来构建项目,这种类型的东西会很容易。

如果这不是一个选项,或者由于某种原因你真的想让IDEA进行构建,那么你能做的最好的事情就是为你编写一个简单的Ant脚本。 (或者可能是Gradle,我对Gradle没有多少经验.Maven可以做到,但与Ant相比,它有点麻烦。)在任何运行/调试配置中,您可以定义要运行的ant脚本目标或者在Before Launch部分的IDEA“make”之后。 (您可以通过在左侧的Defaults中配置它来将其设置为任何新创建的配置的默认设置)。如果手动运行构建,则可以为ant构建指定快捷方式,然后按顺序运行它。或者,您可以录制宏(编辑&gt;宏)以按顺序运行,然后(可选)为宏指定键盘快捷键。