我正在Eclipse中创建一个新的Gradle项目。
创建具有以下结构的新项目:
因为我不需要文件夹src/main/resources
和src/test/resources
,所以我删除它们,我也 refactor->将src/main/java
和src/test/java
文件夹重命名为src/main/groovy
和src/test/groovy
。留给我这样的结构:
然后,我将项目的转换为 Groovy项目的,并通过右键单击该项目来执行以下操作:
现在,我开始编辑build.gradle
文件,该文件的开头看起来如下:apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = 1.5
version = '1.0'
jar {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version
}
}
repositories {
mavenCentral()
}
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
test {
systemProperties 'property': 'value'
}
uploadArchives {
repositories {
flatDir {
dirs 'repos'
}
}
}
由于我想使用 Groovy ,因此我添加:
文件开头的apply plugin: 'groovy'
compile 'org.codehaus.groovy:groovy-all:2.4.3'
转换成dependencies{...}
然后,我单击构建,这成功完成了 ,但通知我一个警告:[sts] -----------------------------------------------------
[sts] Starting Gradle build for the following tasks:
[sts] build
[sts] -----------------------------------------------------
:compileJava UP-TO-DATE
:compileGroovywarning: [options] bootstrap class path not set in conjunction with -source 1.5
1 warning
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava UP-TO-DATE
:compileTestGroovywarning: [options] bootstrap class path not set in conjunction with -source 1.5
1 warning
:processTestResources UP-TO-DATE
:testClasses
:test
:check
:build
BUILD SUCCESSFUL
Total time: 2.496 secs
[sts] -----------------------------------------------------
[sts] Build finished succesfully!
[sts] Time taken: 0 min, 2 sec
[sts] -----------------------------------------------------
为了摆脱这种警告,我再次编辑build.gradle
将sourceCompatibility = 1.5
更改为sourceCompatibility = 1.7
,并且后续构建不再产生上述警告。
由于我想使用 Spock -Testing,因此我打开build.gradle
并在dependencies {...}
下添加以下内容:testCompile "org.spockframework:spock-core:1.0-groovy-2.4"
再次,我执行构建,并再次成功完成 。
现在我要开始编码,因此我添加了新文件:Person2.groovy
到src/main/groovy
Person2Test.groovy
到src/test/groovy
Person2Test.groovy
看起来像这样:package org.gradle
import spock.lang.Specification
class Person2Test {
}
Person2Test.groovy
显示以下错误:Groovy:unable to resolve class spock.lang.Specification
我在这里很困惑。我在build.gradle
中添加了 Spock ,还需要更改什么才能使其正常工作?
最佳答案
关于eclipse - Eclipse-使用Spock和Groovy的新Gradle项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32817830/