繁体   English   中英

如何使用 JavaExec 任务将 Java 代码嵌入到 Gradle 构建中

[英]How to embed Java code into Gradle build using JavaExec task

我有一个 Gradle 驱动的项目,我想向其中添加一个简单的 Java 任务。 此任务非常特定于项目,如果可以提供帮助,我不想将其开发为单独的插件。 所以问题是我可以在我用于我的项目的同一个 build.gradle 中定义这样的自定义任务吗? 还是不可避免地需要将其打包为单独的项目(插件)并安装到本地存储库?

另外需要注意的是,原始项目与 Java 无关(不需要构建其他 Java 代码)

PS 基于以下评论:

我想将src/main/java/SomeUsefulStuff.java到现有项目中,并将该文件编译并用作自定义任务。 我明白每次运行构建时都需要编译它,但同样 - 代码会很小。 但是它将有一些外部依赖项,例如 Commons IO

由于愤怒谁指着JavaExec这竟然是非常简单的。 这是你要做的:

  1. 将您的 Java 代码放在 /src/main/java 中,就像在常规 Gradle 驱动的 Java 项目中一样。 确保它在您要调用的文件中有main方法
  2. apply plugin: 'java'添加到build.gradle
  3. 如果您的 Java 代码对 3rd 方库有任何依赖,请将这些添加到依赖项部分
  4. 像这样向build.gradle添加新的任务部分:
 task usefulStuff(type: JavaExec) { classpath = sourceSets.main.runtimeClasspath main = 'com.me.gradle.UsefulStuff' // arguments to pass to the application args 'OhmyGod!' }
  1. 现在,您可以将该任务称为构建中的任何任务。 例如imporantTask.dependsOn usefulStuff

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM