例如,当我们使用compile或war命令时,Grails将创建文件并将它们默认存储在项目的工作目录中。 可以在grails-app/conf/BuildConfig.groovy配置文件中自定义项目工作目录的位置。 我们使用Grails clean命令删除生成的文件。 该命令将删除所有编译的类文件,WAR文件,缓存的脚本和测试报告。 但这并不会删除项目工作目录中的所有文件。 例如,存储在项目工作目录中的插件或临时web.xml文件不会被删除。 我们还必须使用clean-all命令将这些文件也从项目工作目录中完全删除。
在创建新的Grails应用程序时,让我们看一下grails-app/conf/BuildConfig.groovy配置文件中的默认设置:
// File: grails-app/conf/BuildConfig.groovy
...
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.work.dir = "target/work"
...
运行war命令之后,我们在target目录中看到以下内容:
$ grails war
| Compiling 10 source files
| Compiling 142 source files
| Done creating WAR target/cleanCmd-0.1.war
$ ls target/
classes cleanCmd-0.1.war stacktrace.log work
让我们首先运行clean命令并再次检查target目录的内容:
$ grails clean
| Application cleaned.
$ ls target/
stacktrace.log work
注意target/work目录仍然存在。 现在,我们运行clean-all并检查target目录的内容:
$ grails clean-all
| Application cleaned.
$ ls target/
stacktrace.log
现在, work目录也将被删除。
我们还可以编写自己的脚本,例如仅使用clean命令删除生成的WAR文件。 使用以下脚本,我们将命令clean-war添加到应用程序中,该命令将从项目中删除生成的WAR文件:
// File: scripts/CleanWar.groovy
includeTargets << grailsScript("_GrailsClean")
setDefaultTarget("cleanWarFile")
我们可以在自己的脚本中使用目标cleanCompiledSources , cleanTestReports和cleanWarFile 。
- 用Grails 2.3.5编写的代码
翻译自: https://www.javacodegeeks.com/2014/02/grails-goodness-cleaning-up.html
本文详细介绍了Grails项目中如何使用clean和clean-all命令来清理编译的类文件、WAR文件、缓存的脚本和测试报告。同时,文章还提供了自定义脚本的方法,以便在不删除所有文件的情况下,仅移除特定类型的生成文件。


被折叠的 条评论
为什么被折叠?



