如何只使用gradle编译java类而不生成JAR

时间:2017-08-03 09:01:31

标签: java gradle

我有使用java插件的gradle项目。

在我的情况下,我只需要调用classes任务来编译只有java文件,而不是创建JAR-需要这个来加速某些过程。

如果我调用gradle classes它也生成jar(我认为该任务具有依赖性,因此也会运行jar的构建)。

您如何建议仅编译类?我不想覆盖那个任务,因为在某些情况下,我还需要运行生成JAR的普通gradle build

我尝试使用gradle classes -x jar跳过jar,但似乎省略了外部依赖项并导致编译错误。

它是一个多项目,从根项目运行gradle classes正在某些项目中生成JAR,如您在此处所见https://drive.google.com/file/d/0B0DLkIfwhVMEb25uWHcwX1V1QUk/view?usp=sharing

1 个答案:

答案 0 :(得分:1)

请参阅下面的java plugin documentation图表。 classes任务不应调用jar enter image description here

修改

这是运行简单gradle文件的结果

apply plugin: 'java'

输出:

> gradle classes
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE

BUILD SUCCESSFUL 

正如您所见,jar任务不在任务图中

您可以尝试将task tree插件添加到您的版本中,然后运行gradle classes taskTree以查看导致jar任务添加到任务图的原因