我正在尝试从build.gradle文件中运行Groovy类。我遵循使用指南中的指示,但是出现错误。
构建文件为:
apply plugin: 'java'
apply plugin: 'groovy'
main {
java {
srcDirs = ["$projectDir/src/java"]
}
groovy {
srcDirs = ["$projectDir/src/groovy"]
}
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.2.0', files(....)
}
task fooTask << {
groovyClass groovyClass = new groovyClass()
groovyClass.foo()
}
常规类很简单:
public class groovyClass {
public void foo() {
println 'foo'
}
}
但是,当我尝试运行gradlew编译fooTask时,出现以下错误:
无法解析类groovyClass
知道为什么吗?
谢谢
buildSrc
如果要从构建中引用它,则需要添加该类(而不是在简单的Exec任务中)。给定此目录结构:
|-buildSrc
| |- src
| |- main
| |- groovy
| |- GroovyClass.groovy
|- build.gradle
在哪里GroovyClass.groovy
:
class GroovyClass {
void foo() {
println 'foo'
}
}
并且build.gradle
是:
apply plugin: 'groovy'
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.2.1'
}
task fooTask << {
GroovyClass g = new GroovyClass()
g.foo()
}
然后,运行gradle fooTask
给出输出:
$ gradle fooTask
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:fooTask
foo
BUILD SUCCESSFUL
Total time: 4.604 secs
主要内容:Groovy插件,Groovy项目的默认项目布局本章介绍如何使用文件编译和执行Groovy项目。 Groovy插件 Gradle的Groovy插件扩展了Java插件,并为Groovy程序提供了任务。可以使用以下行来应用groovy插件。 完整的构建脚本文件如下。将以下代码复制到文件中。 可以使用以下命令来执行构建脚本。 Groovy项目的默认项目布局 Groovy插件假定Groovy项目有手动做过一定的设置。 包含Groovy源代码; 包含Gr
我有一个gradle groovy项目,其中我只有groovy脚本,它们不在源目录中,而是在一个单独的目录中。此外,我还有groovy junit测试,这些测试使用groovy shell测试调用它们的脚本。 我有一个gradle构建来运行测试,然后将脚本压缩到单独的zip文件中,并将它们上传到maven repo中。问题是,gradle还创建并上传了一个jar文件。由于源目录中没有文件,jar只
我开发了一套关于实体的保存、搜索和修改的Spock测试,一切都运行得很顺利。具体地说,我有一个Spring Boot应用程序冒烟测试,以确保配置正确加载 由于自然密钥是channel和service,所以我尝试定义了一个复合密钥 以及主键类(节选) 构建jar并运行测试,然后 启动Spring Boot服务器
问题内容: 我有一个Gradle构建脚本,该脚本必须实例化Task中的Java类并在创建的对象上调用方法。目前,我有以下内容: 问题是找不到该类。我阅读了有关如何在Gradle中使用Groovy类的文章,但是我需要Java类来自外部JAR文件。如何将jar添加到构建源?似乎该块没有执行我期望的操作。谁能给我一个正确方向的提示? 问题答案: 该依赖关系作为项目依赖关系而不是脚本依赖关系本身添加。您需
我有一个Gradle构建脚本,它必须在一个任务中实例化一个Java类,并在创建的对象上调用一个方法。目前,我有以下内容: 问题是找不到类。我阅读了这篇关于如何在Gradle中使用Groovy类的文章,但我需要我的Java类来自外部JAR文件。如何将jar添加到构建源中?似乎块没有完成我所期望的任务。谁能给我一个正确方向的提示吗?
问题内容: 我是Gradle新手。我想构建一个uberjar(AKA fatjar),其中包括项目的所有传递依赖项。我需要在“ build.gradle”中添加哪些行? 这是我目前拥有的:(我是从几天前的某个地方复制的,但是不要从那里收集。) 问题答案: 您是否尝试过 gradle食谱中 的fatjar示例? 您正在寻找的是gradle 的影子插件