我有一个用Groovy编写的小型Spring Boot测试项目,使用Gradle构建。
spring run src/com/eval/EvalMain.groovy src/com/eval/InputObj.groov
我收到
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of constructor in com.eval.InputObj required a bean of type 'java.lang.String' that could not be found.
Action:
Consider defining a bean of type 'java.lang.String' in your configuration.
我的印象是Gradle为我提供了这类功能,而且它应该可以工作,因为Groovy是基于Java构建的。(另外,它是如何知道包路径java.lang的?)下面是我的gradle.build,任何帮助都将不胜感激!
buildscript {
ext {
springBootVersion = '1.4.2.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'groovy'
apply plugin: 'org.springframework.boot'
jar {
baseName = 'testJar'
version = '.0.0.2'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
springBoot {
mainClass = "com.eval.EvalMain"
}
2条答案
按热度按时间wtlkbnrh1#
我的印象是Gradle为我提供了这类功能,而且它应该可以工作,因为Groovy是基于Java构建的。
constructor com.eval.InputObj required a bean of type 'java.lang.String'
异常与Gradle
无关,因为您的InputObj
Bean对象需要一个构造函数参数,该参数是一个String
参数,您需要提供**(使用Spring配置XML或注解)**以创建Bean/对象。nwlls2ji2#
对于那些运行Lombok的用户,您可能需要@AllArgsConstructor或@NoArgsConstructor Lombok Doc
我还发现这个spring ticket很有帮助