考虑这样的情况:有一个很大的项目,它需要大量的时间来编译,而且我正在将它的结果工件作为单独的文件(jar)。
我想在这个项目上运行单元测试,而不需要编译和jar项目本身,所以我需要消除对compileJava
任务的依赖,但是这个任务不在test
任务的dependsOn
列表中。
dependsOn
属性的test
任务只包含一些[file collection]
,如果我打印这个FileCollection.files
,我将得到文件和目录的列表,其中包括.../build/classes/main
。我认为,删除这个条目之后,我将成功地消除对compileJava
的依赖(据我所知,.../build/classes/main
只是运行compileJava
的结果,这就是compileJava
出现的原因)。但我只是不明白怎么删除这个条目。
顺便说一句,在本例中,将这个jar添加到类路径没有问题,所以这不是一个问题。
我用的是1.8级。谢谢。
发布于 2014-06-21 00:58:53
如果什么都没有改变的话,compileJava
将是最新的,而jar
不依赖于test
。但是,如果希望添加对下载的Jar运行测试的功能,请声明另一个Test
任务。(重新配置test.classpath
也应该有效,但似乎不那么可取。)
https://stackoverflow.com/questions/24307486
复制