Apache Beam 字数统计:转换为 Gradle (Groovy)
Apache Beam Word Count: Convert to Gradle (Groovy)
我正在使用 Apache Beam 的快速入门指南:
https://beam.apache.org/get-started/quickstart-java
我想用 gradle 创建一个最小的设置,并想用 Direct Runner 测试它。
当我 运行 指南中提到的这个命令时:
gradle clean execute -DmainClass=main.Main --args="--inputFile=sample.txt --output=counts"
Gradle 失败并出现以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
Task 'execute' not found in root project 'apache-beam-hello-world'.
所以我想我缺少 build.gradle、
中的一些设置
我再次阅读指南,发现这些代码可能相关:
task("execute", JavaExec::class) {
classpath = sourceSets["main"].runtimeClasspath
mainClass.set(System.getProperty("mainClass"))
}
不过,上面的代码是用Kotlin写的,
所以我现在不知道该怎么办。
这是我现在的 build.gradle
plugins {
id "java-library"
}
repositories {
mavenCentral()
}
dependencies {
implementation "org.apache.beam:beam-sdks-java-core:2.39.0"
implementation "org.apache.beam:beam-runners-direct-java:2.39.0"
}
tasks.named("test") {
useJUnitPlatform()
}
更新 (2022-05-29T18:47:00Z):
我可以 运行 Main class 并在我的 Eclipse IDE 上正常工作 IDE。
我找到了将相同内容从 Kotlin 重写为 Groovy 的方法,并且有效:
task execute(type: JavaExec) {
mainClass = "main.Main"
classpath = sourceSets.main.runtimeClasspath
}
此外,我们需要像这样添加存储库:
repositories {
mavenCentral()
maven { url "https://packages.confluent.io/maven/" }
}
我正在使用 Apache Beam 的快速入门指南:
https://beam.apache.org/get-started/quickstart-java
我想用 gradle 创建一个最小的设置,并想用 Direct Runner 测试它。
当我 运行 指南中提到的这个命令时:
gradle clean execute -DmainClass=main.Main --args="--inputFile=sample.txt --output=counts"
Gradle 失败并出现以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
Task 'execute' not found in root project 'apache-beam-hello-world'.
所以我想我缺少 build.gradle、
中的一些设置
我再次阅读指南,发现这些代码可能相关:
task("execute", JavaExec::class) {
classpath = sourceSets["main"].runtimeClasspath
mainClass.set(System.getProperty("mainClass"))
}
不过,上面的代码是用Kotlin写的,
所以我现在不知道该怎么办。
这是我现在的 build.gradle
plugins {
id "java-library"
}
repositories {
mavenCentral()
}
dependencies {
implementation "org.apache.beam:beam-sdks-java-core:2.39.0"
implementation "org.apache.beam:beam-runners-direct-java:2.39.0"
}
tasks.named("test") {
useJUnitPlatform()
}
更新 (2022-05-29T18:47:00Z):
我可以 运行 Main class 并在我的 Eclipse IDE 上正常工作 IDE。
我找到了将相同内容从 Kotlin 重写为 Groovy 的方法,并且有效:
task execute(type: JavaExec) {
mainClass = "main.Main"
classpath = sourceSets.main.runtimeClasspath
}
此外,我们需要像这样添加存储库:
repositories {
mavenCentral()
maven { url "https://packages.confluent.io/maven/" }
}