Spring Gradle生成失败:尚未配置主类名,无法解析
我正在按照指南使用Spring构建一个RESTful web服务。我正在使用grable构建应用程序,但构建失败 我在Windows10机器上使用了“buildgradle”命令 这是gradle代码:Spring Gradle生成失败:尚未配置主类名,无法解析,spring,gradle,Spring,Gradle,我正在按照指南使用Spring构建一个RESTful web服务。我正在使用grable构建应用程序,但构建失败 我在Windows10机器上使用了“buildgradle”命令 这是gradle代码: buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plug
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.1.6.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
bootJar {
baseName = 'gs-rest-service'
version = '0.1.0'
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile('org.springframework.boot:spring-boot-starter-test')
}
我得到以下错误:
任务“:bootJar”的执行失败
主类名尚未配置,无法解析
因此,您可以对其进行配置。请尝试:
apply plugin: 'application'
mainClassName = 'com.example.WebApplication'
在我的例子中,(使用)它是由src文件夹引起的,主类文件没有位于src/main文件夹下。
此外,我已经清理了所有东西并重新启动了IDE。
正如@Zaziro提到的,我也尝试过,但没有任何运气。
但是有一些文章提到了配置
在与Github中的src代码进行比较之后,这与任何包的任何版本无关
祝你好运:-)如果你正在构建多模块项目,并且包含一个不是springboot项目的模块,那么你应该把这个放在非springboot模块中的gradle.build上
bootJar {
enabled = false
}
jar {
enabled = true
}
当我使用kotlin并将
main
方法放错位置时,我遇到了这个错误
错:
@SpringBootApplication
class Application {
fun main(args: Array<String>) {
runApplication<Application>(*args)
}
}
正如@Zaziro所提到的,可以定义一个配置 该站点非常好地描述了不同类型的配置: 如果您正在使用KOTLIN: 请注意,您的类名已更改。您需要在mainClassName后面加上“Kt”
示例:“com.example.Application”->“com.example.ApplicationKt”我试图按照应用程序中有CommandLineRunner的说明进行操作。CommandLineRunner中的代码只有在我将bean和main方法包装到类中时才会运行。我可以让测试运行,但不能通过命令行。我可以通过使用一个伴生对象来解决这个问题:
@SpringBootApplication
class TestApplication {
companion object {
@JvmStatic
fun main(args: Array<String>) {
runApplication<TestApplication>(*args)
}
}
@Bean
fun commandLineRunner(ctx: ApplicationContext): CommandLineRunner {
...
}
}
@springboot应用程序
类测试应用程序{
伴星{
@JvmStatic
趣味主线(args:Array){
运行应用程序(*args)
}
}
@豆子
趣味commandLineRunner(ctx:ApplicationContext):commandLineRunner{
...
}
}
如何对spring kotlin执行同样的操作,因为主类名没有主函数。完全救了我!我是Kotlin的新手,犯了同样的错误。在另一个例子中,用@SpringBootApplication标记的java类在主方法中没有static
修饰符
@SpringBootApplication
class TestApplication {
companion object {
@JvmStatic
fun main(args: Array<String>) {
runApplication<TestApplication>(*args)
}
}
@Bean
fun commandLineRunner(ctx: ApplicationContext): CommandLineRunner {
...
}
}