例如,当我们使用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